Как избавиться от WebKitFormBoundary в загруженном файле
я реализую загрузить в веб-приложении.
передняя часть написана в в AngularJS и использует угловое-файл-загрузить пакет (тот, который можно найти по этой ссылке https://github.com/nervgh/angular-file-upload).
задняя часть Java / Джерси Веб-Служб.
мой вопрос:
загружаемый файл содержит WebKitFormBoundary header и footer, как это:
------WebKitFormBoundarylqskdjlqksdjl
Content-Disposition: form-data; name="upload"; filename="foo.bar"
Content-Type: multipart/form-data
поэтому я не уверен, загружаю ли я файл или запрос. И, конечно же, мое фоновое приложение считает, что загруженные файлы повреждены и не будут отображаться, если эти строки не будут удалены (пока вручную).
итог: как мне избавиться от этого верхнего и нижнего колонтитулов в загруженном файле?
вот некоторые коды образцы.
Передний Конец
еще раз: angularJS angular-файл-загрузить
item.headers = {
'Content-Disposition': 'attachment; filename="' + item.file.name + '"',
'Content-Type': 'multipart/form-data'
};
Back-End
и Java / Джерси
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Path("someurl/{fileName}")
public Artifact uploadArtifact(InputStream uploadedStream, @PathParam("fileName") String fileName) throws Exception;
Примечание
мне интересно, если Content-Disposition: attachment
в моей части angularJS может быть, что это испортило?
и что это должно быть лучше Content-Disposition: form-data
?
Thx заранее!
1 ответов
вам нужно разместить @FormDataParam
аннотация для правильной обработки границы.
@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;