本文介绍了上传使用OkHttp多部分大文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有哪些选择在Android中使用OKhttp上传单个大容量文件(更具体地说,S3)的多部分?
What are my options for uploading a single large file (more specifically, to s3) in multipart in Android using OKhttp?
推荐答案
从 OkHttp食谱页面,这code上传的图片Imgur:
From the OkHttp Recipes page, this code uploads an image to Imgur:
private static final String IMGUR_CLIENT_ID = "...";
private static final MediaType MEDIA_TYPE_PNG = MediaType.parse("image/png");
private final OkHttpClient client = new OkHttpClient();
public void run() throws Exception {
// Use the imgur image upload API as documented at https://api.imgur.com/endpoints/image
RequestBody requestBody = new MultipartBuilder()
.type(MultipartBuilder.FORM)
.addPart(
Headers.of("Content-Disposition", "form-data; name=\"title\""),
RequestBody.create(null, "Square Logo"))
.addPart(
Headers.of("Content-Disposition", "form-data; name=\"image\""),
RequestBody.create(MEDIA_TYPE_PNG, new File("website/static/logo-square.png")))
.build();
Request request = new Request.Builder()
.header("Authorization", "Client-ID " + IMGUR_CLIENT_ID)
.url("https://api.imgur.com/3/image")
.post(requestBody)
.build();
Response response = client.newCall(request).execute();
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
System.out.println(response.body().string());
}
您将需要适应这S3,但类,你需要应该是一样的。
You'll need to adapt this to S3, but the classes you need should be the same.
这篇关于上传使用OkHttp多部分大文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!