gpt4 book ai didi

java - 如何摆脱上传文件中的 WebKitFormBoundary

转载 作者:搜寻专家 更新时间:2023-10-30 21:33:48 24 4
gpt4 key购买 nike

我正在网络应用程序中实现文件上传

前端是用 angularJS 编写的,并使用 angular-file-upload 包(可以在这个链接 https://github.com/nervgh/angular-file-upload 找到)。

后端是 Java/Jersey 网络服务。

我的问题是:

上传的文件包含一个 WebKitFormBoundary 页眉和页脚,如下所示:

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

因此,我不确定我是在上传文件还是请求。当然,我的后端应用程序认为上传的文件已损坏,除非删除这些行(目前手动),否则不会显示它们。

底线是:如何删除上传文件中的页眉和页脚?

这里有一些代码示例。

前端

再一次:angularJS angular-file-upload

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

后端

和 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;

注意事项

我想知道我的 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;

关于java - 如何摆脱上传文件中的 WebKitFormBoundary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30718746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com