Upload files
Amplify allows you to upload File
s and InputStream
s.
Upload InputStream
To upload data to S3 from an InputStream
:
1private void uploadInputStream() {2 try {3 InputStream exampleInputStream = getContentResolver().openInputStream(uri);4 5 Amplify.Storage.uploadInputStream(6 "ExampleKey",7 exampleInputStream,8 result -> Log.i("MyAmplifyApp", "Successfully uploaded: " + result.getKey()),9 storageFailure -> Log.e("MyAmplifyApp", "Upload failed", storageFailure)10 );11 } catch (FileNotFoundException error) {12 Log.e("MyAmplifyApp", "Could not find file to open for input stream.", error);13 }14}
Upload files
To upload to S3 from a data object, specify the key and the file to be uploaded.
1private void uploadFile() {2 File exampleFile = new File(getApplicationContext().getFilesDir(), "ExampleKey");3
4 try {5 BufferedWriter writer = new BufferedWriter(new FileWriter(exampleFile));6 writer.append("Example file contents");7 writer.close();8 } catch (Exception exception) {9 Log.e("MyAmplifyApp", "Upload failed", exception);10 }11
12 Amplify.Storage.uploadFile(13 "ExampleKey",14 exampleFile,15 result -> Log.i("MyAmplifyApp", "Successfully uploaded: " + result.getKey()),16 storageFailure -> Log.e("MyAmplifyApp", "Upload failed", storageFailure)17 );18}
To track progress of the upload, use the uploadFile
API that includes a progress listener callback.
1private void uploadFile() {2 File exampleFile = new File(getApplicationContext().getFilesDir(), "ExampleKey");3
4 try {5 BufferedWriter writer = new BufferedWriter(new FileWriter(exampleFile));6 writer.append("Example file contents");7 writer.close();8 } catch (Exception exception) {9 Log.e("MyAmplifyApp", "Upload failed", exception);10 }11
12 Amplify.Storage.uploadFile(13 "ExampleKey",14 exampleFile,15 StorageUploadFileOptions.defaultInstance(),16 progress -> Log.i("MyAmplifyApp", "Fraction completed: " + progress.getFractionCompleted()),17 result -> Log.i("MyAmplifyApp", "Successfully uploaded: " + result.getKey()),18 storageFailure -> Log.e("MyAmplifyApp", "Upload failed", storageFailure)19 );20}