繁体   English   中英

java multipart POST库

[英]java multipart POST library

是否有一个多部分的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处理,该API创建Blob。 该API还会为Blob创建一条信息记录,并将该记录存储在数据存储区中,并将重写的请求作为Blob键传递给给定路径上的应用程序。

您不需要图书馆; 可用的Java类( 示例 )可以做到这一点。

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

您可以在Apache httpcomponent上找到完整且事实上的标准HTTP实现(例如包含在Android平台中)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM