我嘗試使用restlet客戶機模擬附件和一些參數的表單提交。從瀏覽器提交服務器工作正常,但問題是當試圖上傳使用restlet它失敗。Restlet多部分表單文件上傳失敗,出現UnknownSizeException
上傳代碼是。爲了便於閱讀,我刪除了驗證和異常處理。
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文件,但我仍然無法找到這樣的。
任何幫助將appriciated