Android デバイスから Kinvey File Storage にファイルをアップロードしようとしていますが、次のようになります。
java.net.SocketTimeoutException: Read timed out.
Kinvey コンソールにアップロードされたファイルが表示されますが、破損しており、ダウンロードしようとしたときのファイル サイズは 10 MB ですが、元のファイル サイズは ~50 MB です。コードは次のとおりです (ドキュメントにかなり近い)。
File file = new File(Environment.getExternalStorageDirectory(), "images.zip");
FileMetaData metadata = new FileMetaData(); //create the FileMetaData object
metadata.setId("images");
metadata.setFileName("images.zip");
AccessControlList acl = new AccessControlList();
acl.setGloballyReadable(true);
metadata.setAcl(acl);
mKinveyClient.file().upload(metadata, file, new UploaderProgressListener() {
@Override
public void onSuccess(Void arg0) {
// TODO Auto-generated method stub
}
@Override
public void onFailure(Throwable arg0) {
// TODO Auto-generated method stub
}
@Override
public void progressChanged(MediaHttpUploader uploader) throws IOException {
}
});
同じ質問をここ(Kinvey サポート フォーラム) に投稿しました。
アップデート
ewilly の回答に続いて、いくつかのテストを行いました。
- ファイルをアップロードしました〜9mb。正常に動作します。ダウンロードして抽出できるファイルは破損していません。正しいファイル サイズが表示されます。
- ファイルをアップロードしました ~19mb、socketTimeoutException なしでアップロードします。しかし、アップロードされたファイルが破損しています。ダウンロードすると、ファイルサイズが10mbと表示されます。
- 以前のケースは、依然としてファイル サイズ ~ 50mb を表しています。