Ответ 1
попробуйте этот ответ AmazonClientException: чтение данных имеет разную длину, чем ожидалось
Я также сталкивался с этой проблемой ранее, надеюсь, это может помочь вам
Когда я загружаю файл с Nexus 6, используя SDK amazon s3, некоторое время он бросает мне com.amazonaws.AmazonClientException: Больше данных прочитано (4567265), чем ожидалось (4561427) исключение.
Но когда я загружаю изображение с Moto G4 плюс с тем же кодом, он будет загружаться каждый раз.
Пожалуйста, помогите мне в решении этой проблемы.
Вот мой код для справки:
private void uploadingScreenshot(String filePath)
{
File file = new File(filePath);
if (file.exists()) {
final String serverPath = S3Util.getMediaPath(Utility.MediaType.SCREENSHOT, false, "");
ObjectMetadata meta = new ObjectMetadata();
meta.setContentLength(file.length());
S3Util.uploadMedia(SharedFolderDetailActivity.this, file, serverPath, meta, new TransferListener() {
@Override
public void onStateChanged(int id, TransferState state) {
switch (state) {
case COMPLETED: {
String path = S3Constants.BUCKET_URL + serverPath;
callTookScreenshotNotifierWS(path);
}
break;
}
}
@Override
public void onProgressChanged(int id, long bytesCurrent, long bytesTotal) {
}
@Override
public void onError(int id, Exception ex) {
if (ex != null)
Log.e(TAG, ex.getMessage());
}
});
}
}
Эта функция используется для загрузки файла на сервере amazon s3.
public class S3Util {
public static TransferObserver uploadMedia(final Context context, File file, String s3Path, ObjectMetadata objectMetadata, TransferListener l) {
TransferObserver observer = getTransferUtility(context).upload(S3Constants.BUCKET_NAME, s3Path, file,objectMetadata);
observer.setTransferListener(l);
return observer;
}
}
попробуйте этот ответ AmazonClientException: чтение данных имеет разную длину, чем ожидалось
Я также сталкивался с этой проблемой ранее, надеюсь, это может помочь вам
Мое мнение таково, что есть проблема совместимости с aws-sdk и android sdk. Лучший способ - попытаться понизить свою aws-версию и узнать более стабильную версию с вашим Android-сайтом. Может быть, я ошибаюсь.
Кроме того, я рекомендую вам написать проблему в https://github.com/aws/aws-sdk-android/issues
Я надеюсь, что вы сможете решить свою проблему. Удачи!)