retrofit 上传、下载文件

//上传文件:
public interface FileWebService {
    @Multipart
    @POST("/files")
    FileUploadedResponse upload(@Part("fileContent") TypedFile file);
 
}
  File  file  =  // create your File object here
  RestAdapter  restAdapter  =  // create your RestAdapter
  String  mimeType  =  "image/jpg";
  TypedFile  fileToSend  =  new  TypedFile(mimeType,  file);
  FileWebService  fileWebService  =  restAdapter.create(FileWebService.class); 
  fileWebService.upload(fileToSend);
//下载文件:
public interface FileWebService{
    @GET("/files/{fileId}")
    @Headers({"Content-Type: image/jpeg"})
    Response getFile(@Path("fileId") int fileId);
 
}
  int  fileId  =  123;
  Response  response  =  fileWebService.getFile(fileId);  
  byte[]  bytes  =  FileHelper.getBytesFromStream(response.getBody().in());
 
public static byte[] getBytesFromStream(InputStream is) throws IOException {
 
int len;
int size = 1024;
byte[] buf;
 
ByteArrayOutputStream bos = new ByteArrayOutputStream();
buf = new byte[size];
while((len = is.read(buf, 0, size)) != -1) {
bos.write(buf, 0, len);
}
buf = bos.toByteArray();
 
return buf;
}
  public  static  void  saveBytesToFile(byte[]  bytes,  String  path)  {
  
  try  {
  
      FileOutputStream  fileOuputStream  =  new  FileOutputStream(path);
      fileOuputStream.write(bytes);
  }  catch(FileNotFoundException  e)  {
      e.printStackTrace();
  }  catch(IOException  e)  {
      e.printStackTrace();
  }  finally{
        fileOuputStream.close();
  }
}


转载于:https://my.oschina.net/zqx123/blog/665711

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值