gpt4 book ai didi

java - 在一个请求中上传 JSON 和二进制文件

转载 作者:行者123 更新时间:2023-12-02 07:37:17 25 4
gpt4 key购买 nike

我希望创建一个用于 Android 和 iOS 应用程序的 RESTful API。到目前为止,我一直在尝试在服务器上使用 Jersey,然后在客户端使用适当的 http 库。目前,我一直在使用 multipart/lated 作为请求的 mimetype,其中 JSON 构成主体的第一部分,然后 jpeg 图像作为第二部分。

到目前为止,我在向服务器发出请求时遇到了问题,从 Jersey 收到了 406 Not Acceptable。我注意到 multipart/lated 主要用于发送电子邮件。实际上是否有一种方法可以支持混合类型内容上传,或者我完全误解了 multipart/lated 在这种情况下的用法?

最佳答案

您可能想查看此博客以获取更多信息,但以下是可以帮助您的重要部分:

http://www.mkyong.com/webservices/jax-rs/file-upload-example-in-jersey/

@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(
@FormDataParam("file") InputStream uploadedInputStream,
@FormDataParam("file") FormDataContentDisposition fileDetail) {

String uploadedFileLocation = "d://uploaded/" + fileDetail.getFileName();

// save it
writeToFile(uploadedInputStream, uploadedFileLocation);

String output = "File uploaded to : " + uploadedFileLocation;

return Response.status(200).entity(output).build();
}

我希望您需要 multipart/form-data,因为这是 multipart/lated 描述的一部分:

The Multipart/Related media type is intended for compound objects
consisting of several inter-related body parts. For a
Multipart/Related object, proper display cannot be achieved by
individually displaying the constituent body parts. The content-typeof the Multipart/Related object is specified by the type parameter.
The "start" parameter, if given, points, via a content-ID, to the
body part that contains the object root. The default root is the
first body part within the Multipart/Related body.

有关此 mime 类型的更多信息,您可以查看

https://www.rfc-editor.org/rfc/rfc2387

关于java - 在一个请求中上传 JSON 和二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12022925/

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