Upload files to AWS S3 bucket either using OkHttp or Retrofit

2k Views Asked by At

Are there any examples of uploading a file to an S3 bucket either using Square's OkHttp library or Retrofit library? I'm looking for some examples where I can upload a file using these libraries using a pre-signed query.

1

There are 1 best solutions below

0
On

I'm copying this more or less from some pre-production code:

OkHttpClient.Builder builder = new OkHttpClient.Builder().proxy(proxy).writeTimeout(10, TimeUnit.MINUTES);
this.client = builder.build();
// ...
Request.Builder requestBuilder = new Request.Builder().url(uploadUrl);
for (TagEntry entry : item.getUploadUrlHeaders()) {
    requestBuilder.addHeader(entry.getKey(), entry.getValue());
}

RequestBody requestBody = RequestBody.create(BINARY_MEDIA_TYPE, file.toFile());
requestBuilder.put(requestBody);
final Response response = client.newCall(requestBuilder.build()).execute();
assert response.isSuccessful();