我正在使用robospice。现在我想上传文件。 我用SpringAndroidSpiceService和写我自己这样的要求:Robospice用SpringAndroidSpiceRequest上传文件
public class UploadFileRequest extends SpringAndroidSpiceRequest<String>{
private static final String TAG = "UploadFileRequest";
private UploadRequestModel requestModel;
private String link;
public UploadFileRequest(UploadRequestModel model, String link) {
super(String.class);
requestModel = model;
this.link = link;
}
@Override
public String loadDataFromNetwork() throws Exception {
MultiValueMap<String, Object> parts = new LinkedMultiValueMap<String, Object>();
parts.add("file1", new FileSystemResource(requestModel.getFile1()));
parts.add("file2", new FileSystemResource(requestModel.getFile1()));
HttpHeaders headers = new HttpHeaders();
HttpEntity<MultiValueMap<String, Object>> request =
new HttpEntity<MultiValueMap<String, Object>>(parts, headers);
return getRestTemplate().postForObject(link, request, String.class);
}
}
我现在可以发送的文件。但我遇到了一个问题。 文件发送后。我的磁盘上的文件几乎被删除。它的大小是零。 你知道为什么吗?我该如何解决它? 非常感谢您的帮助。
在上面的代码,你参考类型为'UploadRequestModel'的对象。我找不到关于这个对象的任何文档 - 你能给我一些见解吗? – deepwinter
啊。 UploadRequestModel只是一个POJO类。我曾经包含文件路径。 – gZerone
谢谢,我想出了我的问题 - 与消息转换器没有找到。沿着\t的路线restTemplate.getMessageConverters()。add(new FormHttpMessageConverter()); ,但根据文件,这是没有必要的,因为它是。 – deepwinter