Я использую Android aws sdk 3.2 для загрузки изображений с телефона Android на amazon s3, это нормально работает, но я хочу сжать изображение перед загрузкой на amazon s3.Сжатие изображения перед загрузкой на amazon s3 с помощью AWS sdk в Android
Я много исследовал и нашел несколько решений.
Сжатие изображения на стороне клиента и создание копии этого файла и загрузка на S3 после загрузки. Удалите этот файл.
Сжатие изображения на стороне клиента и загрузка этого изображения на сервер EC2, а затем загрузка того же изображения в s3 из EC2.
Я использую этот код, предоставленный амазонкой: -
private static AmazonS3Client getS3Client(Context context) {
if (sS3Client == null) {
sS3Client = new AmazonS3Client(getCredProvider(context.getApplicationContext()));
}
return sS3Client;
}
/**
* Gets an instance of the TransferUtility which is constructed using the
* given Context
*
* @param context
* @return a TransferUtility instance
*/
public static TransferUtility getTransferUtility(Context context) {
if (sTransferUtility == null) {
sTransferUtility = new TransferUtility(getS3Client(context.getApplicationContext()),
context.getApplicationContext());
}
return sTransferUtility;
}
private static CognitoCachingCredentialsProvider getCredProvider(Context context) {
if (sCredProvider == null) {
sCredProvider = new CognitoCachingCredentialsProvider(
context.getApplicationContext(),
Constants.POOL_ID,
Regions.AP_NORTHEAST_1);
}
return sCredProvider;
}
getTransferUtility(context).upload(
"bucket name", uuid,
new File(path));
Я хочу знать, это амазонка сам предоставляет возможность сжать файл затем загрузить или есть лучший способ загрузки файла s3 после сжатия?
Могу ли я сжать файл на Android-клиенте, а затем загрузить это растровое изображение непосредственно на s3, возможно ли это с помощью sdk? –
SDK не может помочь вам сжать файл. Инструкции по сжатию файла можно найти здесь: http://www.oracle.com/technetwork/articles/java/compress-1565076.html. Затем вы сообщаете SDK загрузить сжатый файл. Не забудьте сделать очистку позже. – Yangfan
Является amazon sdk открытым исходным кодом, и если это возможно, вы можете мне помочь, в каком файле я должен сжимать изображение перед загрузкой на s3? –