【发布时间】:2015-11-03 04:19:38
【问题描述】:
我正在尝试使用restlet客户端模拟带有附件和一些参数的表单提交。从浏览器提交的服务器工作正常,但问题是尝试使用 restlet 上传时失败。
上传代码是。为了便于阅读,我删除了验证和异常处理。
ClientResource cr = new ClientResource(targetUrl);
cr.setCookies(cookie);
FormDataSet form = new FormDataSet();
form.getEntries().add(new FormData("title", request.getTitle()));
File f = new File(request.getFilePath());
FileRepresentation file = new FileRepresentation(f,MediaType.MULTIPART_FORM_DATA);
FormData fd = new FormData("upload_file", file);
form.getEntries().add(fd);
form.setMultipart(true);
Representation responseObject = cr.post(form);
但服务器抱怨请求中缺少内容大小。
org.apache.commons.fileupload.FileUploadBase$UnknownSizeException: 请求被拒绝,因为它的大小未知
我在上面的代码中做错了什么。 仅供参考,服务器也是使用 restlet 编写的,并遵循代码示例 here。
我发现了一个 restlet 博客,它有一些替代方法 here。但他们指的是一个类“MultipartRepresentation”,我无法在restlet分布中找到它。在这里我可能丢失了一个扩展 jar 文件,但我仍然找不到。
如有任何帮助,将不胜感激
【问题讨论】:
标签: rest file-upload client multipartform-data restlet