【问题标题】:java multipart POST libraryjava多部分POST库
【发布时间】:2011-01-06 09:10:23
【问题描述】:

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

【问题讨论】:

    标签: java post multipart


    【解决方案1】:

    你不需要图书馆;这可以通过现有的 Java 类 (example) 实现。

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

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      • 2015-11-21
      相关资源
      最近更新 更多