0

我正在尝试将文件(如图像文件)上传到这样的 Restful 服务器:

curl -X POST -H "Content-Type: multipart/form-data; boundary=----------------------------4ebf00fbcf09" --data-binary @sample.jpg http://localhost:3000/test

但是,我的 Restful 服务器资源似乎没有处理该请求。

  • 如何将文件(小文件和大文件)上传到 Spring Web 资源
  • “附件”类型的上传与通过简单的表单上传完全不同吗?
  • 如果 Content-Type:multipart/form-data; boundary=...我怎样才能获得实际的内容类型,例如:“image/jpeg”等。

这是我的网络资源的代码片段:

          try 
          {
            ServletFileUpload upload = new ServletFileUpload();
            FileItemIterator fileIterator = upload.getItemIterator(req);
            while (fileIterator.hasNext()) {
                FileItemStream item = fileIterator.next();
                byte[] content = ByteStreams.toByteArray(item.openStream());
            }
             ...
          }

我担心的是代码可以支持的客户端上传类型,我使用了与此代码一起使用的 Rest Console Chrome 插件和上传附件,但上面的 cURL 代码不起作用。

另外,FileItemIterator可以从 a 中检索到的可能 s 是HttpServletRequest什么?

下面是我的 restful web 服务资源的完整代码:http: //bit.ly/QwTOLw

4

1 回答 1

3

您可能想查看 Spring 手册中有关Spring's multipart (file upload) support 的部分。确保您MultipartResolver在上下文中声明了一个 bean,并考虑将文件映射为MultipartFile表单支持对象,这样您就可以让 Spring 自己处理解析/读取多部分数据(而不是尝试自己解析 FileItemIterator、ServletFileUpload 等)。

于 2012-09-09T16:17:22.810 回答