java multipart POST库

时间:2011-01-06 09:10:24

标签: java post multipart

是否有一个多部分POST库可以实现从html表单执行POST的相同效果?例如 - 用Java编程上传文件而不是使用html表单上传文件。在服务器端,它只是盲目地期望来自客户端的请求是一个多部分POST请求并根据需要解析数据。

有人试过吗?

具体来说,我试图看看我是否可以使用Java模拟以下内容

用户通过提交包含一个或多个文件输入字段的HTML表单来创建blob。您的应用将 blobstoreService.createUploadUrl()设置为此表单的目标(操作),并将该函数传递给应用中处理程序的URL路径。当用户提交表单时,用户的浏览器将指定的文件直接上载到Blobstore。 Blobstore重写用户的请求并存储上载的文件数据,用一个或多个相应的blob键替换上传的文件数据,然后将重写的请求传递给您提供给blobstoreService.createUploadUrl()的URL路径的处理程序。此处理程序可以基于blob键执行其他处理。最后,处理程序必须返回仅标题的重定向响应(301,302或303),通常是浏览器重定向到另一个页面,指示blob上载的状态。

blobstoreService.createUploadUrl 设置为表单操作,在表单的POST完成后将应用程序路径传递给加载。

<body>
    <form action="<%= blobstoreService.createUploadUrl("/upload") %>" method="post" enctype="multipart/form-data">
        <input type="file" name="myFile">
        <input type="submit" value="Submit">
    </form>
</body>

请注意,这是上传表单创建为JSP时的外观。 表单必须包含文件上载字段,并且表单的enctype必须设置为multipart / form-data。当用户提交表单时,POST由Blobstore API处理,后者创建blob。 API还会为blob创建信息记录并将记录存储在数据存储区中,并将重写的请求作为blob键传递给给定路径上的应用程序。

2 个答案:

答案 0 :(得分:0)

你不需要图书馆;这可以使用库存Java类(example)。

在服务器端,您将实现一个Java Servlet解决方案,该解决方案使得解析HTTP请求参数变得非常简单。

答案 1 :(得分:0)

您可以在Apache httpcomponent

找到完整且事实上的标准HTTP实施(例如在Android平台中包含)