«

Retrofit 实现上传下载文件

时间:2024-3-2 17:02     作者:韩俊     分类: Html+Css


1.

1234567public interface FileWebService { @Multipart @POST("/files") FileUploadedResponse upload(@Part("fileContent") TypedFile file); }

2.

1

2

3

4

5

6

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);

3.Downloading

123456public interface FileWebService{ @GET("/files/{fileId}") @Headers({"Content-Type: image/jpeg"}) Response getFile(@Path("fileId") int fileId); }

1

2

3

int
fileId

123;

Response
response

fileWebService.getFile(fileId);

byte[]
bytes

FileHelper.getBytesFromStream(response.getBody().in());

123456789101112131415public 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;}

1

2

3

4

5

6

7

8

9

10

11

12

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();

    }

}

本文出自 Lac,转载时请注明出处及相应链接。
本文永久链接: http://www.xueyong.net.cn/archives/39

标签: javascript html css

热门推荐