Jax RS:multipart / form-data boundary = ---- WebKitFormBoundary提供415不支持的媒体类型

时间:2016-10-13 20:31:27

标签: java rest kendo-ui jax-rs

我有kendo上传小部件将上传的文件作为Post请求发送给服务器;其中JAX-RS是为了处理它。

查看chrome的网络标签;这是我在请求中看到的内容:

Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryARilQnC5oS7lnLVU
Request Payload

------WebKitFormBoundaryARilQnC5oS7lnLVU
Content-Disposition: form-data; name="files"; filename="test_blah.txt"
Content-Type: text/plain


------WebKitFormBoundaryARilQnC5oS7lnLVU--

在服务器上;这是我如何实现Post方法

  @POST
  @Consumes(MediaType.MULTIPART_FORM_DATA)
  public void uploadFiles(@FormDataParam("files") List<InputStream> files) {

    System.out.println("Reached UploadFiles");

  }

我得到一个例外说明:客户端Unsupported Media Type (415)

并在服务器端:

javax.ws.rs.NotSupportedException: Could not find message body reader for type: class org.omg.CORBA.portable.InputStream of content type: multipart/form-data;boundary=----WebKitFormBoundaryARilQnC5oS7lnLVU

kendo调用如下所示:

<div class="demo-section k-content" ng-controller="UploadController">
            <input name="files"
                         id="files"
                         type="file"
                         kendo-upload="uploader"
                         k-select="onSelect"
                         k-async="{ saveUrl: 'http://localhost:8080/path/to/upload', autoUpload: true }"/>
</div>

任何人都可以给我指点

  1. 如何接受multipart / form-data请求?
  2. 是什么导致Jax Rs发出此错误?是吗?     WebKitFormBoundary位?以及如何制作服务器端代码     处理这个?

0 个答案:

没有答案