transformrequest form example data java angularjs jersey multipartform-data

java - example - transformrequest angular identity



Cómo deshacerse de WebKitFormBoundary en archivo cargado (1)

@FormDataParam colocar la anotación @FormDataParam para manejar adecuadamente el límite.

@POST @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.MULTIPART_FORM_DATA) @Path("someurl/{fileName}") public Artifact uploadArtifact( @FormDataParam("file") InputStream uploadedStream, @FormDataParam("file") FormDataContentDisposition fileDetails, @PathParam("fileName") String fileName) throws Exception;

Estoy implementando una carga de archivo en una aplicación web.

El front-end está escrito en angularJS y utiliza el paquete angular-file-upload (el que se puede encontrar en este enlace https://github.com/nervgh/angular-file-upload ).

El back-end es Java / Jersey Web Services.

Mi pregunta es:

El archivo cargado contiene un encabezado y pie de página de WebKitFormBoundary , como este:

------WebKitFormBoundarylqskdjlqksdjl Content-Disposition: form-data; name="upload"; filename="foo.bar" Content-Type: multipart/form-data

Por lo tanto, no estoy seguro de si estoy cargando un archivo o una solicitud. Y, por supuesto, mi aplicación de back-end considera que los archivos cargados están corruptos y no los mostraría a menos que esas líneas se eliminen (por ahora de forma manual).

La conclusión es: ¿cómo me deshago de ese encabezado y pie de página en el archivo cargado?

Aquí hay algunos ejemplos de código.

Interfaz

Una vez más: angularJS angular-file-upload

item.headers = { ''Content-Disposition'': ''attachment; filename="'' + item.file.name + ''"'', ''Content-Type'': ''multipart/form-data'' };

Back-End

y Java / Jersey

@POST @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.MULTIPART_FORM_DATA) @Path("someurl/{fileName}") public Artifact uploadArtifact(InputStream uploadedStream, @PathParam("fileName") String fileName) throws Exception;

Nota

Me pregunto si la disposición de Content-Disposition: attachment en mi parte angularJS podría ser lo que está estropeando?

¿Y que debería ser más bien Content-Disposition: form-data ?

Thx por adelantado!