Аудиофайлы большего размера повреждаются после загрузки на Google ДискJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Аудиофайлы большего размера повреждаются после загрузки на Google Диск

Сообщение Гость »

Я использую приведенный ниже код для загрузки файлов с мобильного устройства Android на Google Диск. Этот код написан в задаче Async.

Код: Выделить всё

public Object loadInBackground() {

GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(mycontext);
assert account != null;
mDriveServiceHelper = new DriveServiceHelper(getGoogleDriveService(mycontext, account, "E Aid"));

mDriveServiceHelper.searchFile(file.getName(), "*/*").addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(List googleDriveFileHolders) {
Gson gson = new Gson();

try {
JSONArray jsonArray = new JSONArray(gson.toJson(googleDriveFileHolders));
// Log.i(TAG, jsonArray.toString());
if (jsonArray.length() != 0) {
HyperLog.i(TAG, file.getName() + " found at GD");
//Duplicate File, Delete at Local Level

} else {
HyperLog.i(TAG, "Check " + file.getName() + " Not Found ");

mDriveServiceHelper.uploadFile(file, "*/*", folderId, mycontext);

}

} catch (Exception e) {
e.printStackTrace();
}

}
});

return null;
}
Вот код метода загрузки файла.

Код: Выделить всё

 public Task uploadFile(final java.io.File localFile, final String mimeType, @Nullable final String folderId, final Context context) {
return Tasks.call(mExecutor, new Callable() {
@Override
public GoogleDriveFileHolder call() throws Exception {
// Retrieve the metadata as a File object.
Log.i(TAG, "Special Check Inside Upload Function");
List root;
if (folderId == null) {
root = Collections.singletonList("root");
} else {

root = Collections.singletonList(folderId);
}

File metadata = new File()
.setParents(root)
.setMimeType(mimeType)
.setName(localFile.getName());

FileContent fileContent = new FileContent(mimeType, localFile);

File fileMeta = mDriveService.files().create(metadata, fileContent).execute();
GoogleDriveFileHolder googleDriveFileHolder = new GoogleDriveFileHolder();
googleDriveFileHolder.setId(fileMeta.getId());
googleDriveFileHolder.setName(fileMeta.getName());

if (googleDriveFileHolder.getId() != null) {
Log.i(TAG, localFile.getAbsolutePath() + " has uploaded Successfully ");

}
return googleDriveFileHolder;

}
});
}
оба кода отлично работают для загрузки файлов размером до 5–6 Мбит/с. Как только размер файла увеличился примерно на 30 МБ, файл загружается, но повреждается и не может быть открыт после загрузки с Google Диска.
Может кто-нибудь помочь исправить это, чего не хватает которые можно добавить сюда.

Подробнее здесь: https://stackoverflow.com/questions/781 ... ogle-drive
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»