如何摆脱上传文件中的 WebKitFormBoundary
How to get rid of WebKitFormBoundary in uploaded file
我正在 Web 应用程序中实现文件上传。
前端用angularJS编写,使用angular-file-upload包(可以在 link https://github.com/nervgh/angular-file-upload 找到的那个)。
后端是 Java / Jersey Web 服务。
我的问题是:
上传的文件包含 WebKitFormBoundary 页眉和页脚,如下所示:
------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'
};
后端
和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;
备注
我想知道 angularJS 部分中的 Content-Disposition: attachment
是否是问题所在?
它应该是 Content-Disposition: form-data
?
提前致谢!
您需要放置 @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;
我正在 Web 应用程序中实现文件上传。
前端用angularJS编写,使用angular-file-upload包(可以在 link https://github.com/nervgh/angular-file-upload 找到的那个)。
后端是 Java / Jersey Web 服务。
我的问题是:
上传的文件包含 WebKitFormBoundary 页眉和页脚,如下所示:
------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'
};
后端
和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;
备注
我想知道 angularJS 部分中的 Content-Disposition: attachment
是否是问题所在?
它应该是 Content-Disposition: form-data
?
提前致谢!
您需要放置 @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;