avi*_*rat 11 java multipartform-data jersey angularjs
我正在Web应用程序中实现文件上传.
前端用angularJS编写,并使用angular-file-upload包(可在此链接中找到的包https://github.com/nervgh/angular-file-upload).
后端是Java/Jersey Web Services.
上传的文件包含一个WebKitFormBoundary页眉和页脚,如下所示:
------WebKitFormBoundarylqskdjlqksdjl
Content-Disposition: form-data; name="upload"; filename="foo.bar"
Content-Type: multipart/form-data
Run Code Online (Sandbox Code Playgroud)
因此,我不确定我是上传文件还是请求.当然,我的后端应用程序认为上传的文件已损坏,除非删除这些行(现在手动),否则不会显示它们.
底线是:如何在上传的文件中删除页眉和页脚?
以下是一些代码示例.
再次:angularJS angular-file-upload
item.headers = {
'Content-Disposition': 'attachment; filename="' + item.file.name + '"',
'Content-Type': 'multipart/form-data'
};
Run Code Online (Sandbox Code Playgroud)
和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;
Run Code Online (Sandbox Code Playgroud)
我想知道Content-Disposition: attachment我的angularJS部分是否可能会弄乱它?
它应该是Content-Disposition: form-data吗?
Thx提前!
您需要放置@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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6188 次 |
| 最近记录: |