android:AndroidAnnotations上传文件,网络接口如此简洁
原创
©著作权归作者所有:来自51CTO博客作者ali莫川的原创作品,请联系作者获取转载授权,否则将追究法律责任
网络接口如此简洁
使用HttpClient进行文件的上传,可以参考博客:使用HttpClient进行文件上传
如果项目使用AndroidAnnotation,写上传接口就会非常方便,比如之前写POST接口
首先参考之前的博客,使用AndroidAnnotations进行POST请求。
- 如下是使用AndroidAnnotations进行文件上传的网络接口
@Rest(rootUrl = "http://192.168.31.183:8080/SSHMySql/", converters = {GsonHttpMessageConverter.class})
public interface FileService extends RestClientErrorHandling{
@Post("/upload.action")
@Accept(MediaType.APPLICATION_JSON)
ReqResult uploadFile(MultiValueMap<String, Object> params);
}
调用时传递参数,其中”userImage”字段为服务器端接收文件的字段,desc为另外一个参数,当然,你也可以添加额外的参数。
public ReqResult postUploadFile(String localFilePath,String desc) {
try {
if (!new File(localFilePath).exists()) {
return null;
}
MultiValueMap<String, Object> params = new LinkedMultiValueMap<String, Object>();
params.add("userImage", new FileSystemResource(localFilePath));
params.add("desc",desc);
return fileService.uploadFile(params);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
这里最需要说明的是“userImage”参数的值为:new FileSystemResource(localFilePath)