gpt4 book ai didi

html - 如何创建一个 html 表单来发送具有 multipart/mixed mime 类型的 http 消息

转载 作者:行者123 更新时间:2023-11-28 00:08:28 25 4
gpt4 key购买 nike

我正在创建一个可处理来自用户的多个文件的 Restful Web 服务。从谷歌看来,正确的 mime 类型应该是 multipart/mixed 所以我的 java web 服务代码(基于 Jersey)是这样的:

@POST
@Consumes(MultiPartMediaTypes.MULTIPART_MIXED)
@Produces({
MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON
})
@Path("/{Id}")
public CourseBean updateCourse(@PathParam("Id") final String id, final MultiPart multipart)
throws WebServiceException
{
//operations on multipart
String this.id = id;
return null;
}

在浏览器中,我运行以下 html 以尝试将文件上传到网络服务:

<h1></h1>

<p>files</p>
<FORM action="http://localhost:8080/rest/1"
enctype="multipart/mixed"
method="POST">
<p>
name:<INPUT type="text" name="submit-name"><BR>
file <INPUT type="file" name="file"><BR>
attachment <INPUT type="file" name="attachment"><BR>
<INPUT type="submit" value="Send"> <INPUT type="reset">
</FORM>

</body>
</html>

请注意这里的加密类型是“multipart/mixed”。然而,在我选择文件并单击发送按钮后,我的 Web 服务获取的 http 请求的 mime 类型更改为 application/x-www-form-urlencoded,这会导致“不支持的媒体类型"网络服务端错误。

但如果我将 html 中的 enctype 更改为 multipart/form-data,则接收到的请求的 mime 类型是相同的:multipart/form-data

所以我的问题是,如何创建一个可以发送 mime 类型为“multipart/mixed”的 http 消息的 html 表单?使用此 html,我可以测试我的网络服务。

非常感谢。

最佳答案

HTML 表单不支持将数据作为multipart/mixed 发送。它们最接近,您可能想要使用的是 multipart/form-data。如果您的 REST 网络服务只能接受 multipart/mixed,那么您将无法直接从 HTML 表单调用它。

有关详细信息,请参阅此问题:What does enctype='multipart/form-data' mean?

关于html - 如何创建一个 html 表单来发送具有 multipart/mixed mime 类型的 http 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16976299/

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