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!