2011-08-12 8 views
1

S3を広く使用するAndroidアプリがいくつかあります。 Android SDKのTranferManagerクラスを使用して、S3にファイルをアップロードしています。 「E/HttpClient(6081):com.amazonaws.AmazonClientException:XMLReaderのsaxドライバを初期化できませんでした」Android S3 SDK:TransferManagerクラスを使用して大きなファイルをアップロードできない

0.1.0と0.2.1の両方のバージョンのSDKを使用しようとしました。大きな(200MB +)アップロードでも同じ問題が発生します。続き

は、私たちのコードスニペットです:

ObjectMetadata attMetaData = new ObjectMetadata(); 
attMetaData.setContentLength(attachment.getFileSize());                        
TransferManager tm = new TransferManager(Utility.getInstance().getAWSInstance(OutboxService.this)); 
Transfer myUpload = tm.upload(Constants.S3.BUCKET, Attachment.mediaFolders.get(attachment.getFileType())+ attachment.getFileName(), is, attMetaData); 

例外ログは、次のとおりです。

W/HttpMethodBase(6081): Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended. 
D/dalvikvm(6081): GC_FOR_MALLOC freed 10875 objects/636320 bytes in 61ms 
D/NativeCrypto(6081): Freeing OpenSSL session 
D/NativeCrypto(6081): Freeing OpenSSL session 
E/HttpClient(6081): Unable to unmarshall response (Couldn't initialize a sax driver for the XMLReader): <?xml version="1.0" encoding="UTF-8"?> 
E/HttpClient(6081): <InitiateMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Bucket>ltd_avmessaging</Bucket><Key>videos/2498992-1313049697.3gp</Key> <UploadId>Tv397TYchM_.U_JDE7PyQcF21lyrtQ7jZYoFG08PgRt07YPn6f_LxlRHVSneGxfdFkGktBs9bIBCA.hAdRb88g--</UploadId></InitiateMultipartUploadResult> 
E/HttpClient(6081): com.amazonaws.AmazonClientException: Couldn't initialize a sax driver for the XMLReader 
E/HttpClient(6081): at com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.<init>(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.services.s3.model.transform.Unmarshallers$InitiateMultipartUploadResultUnmarshaller.unmarshall(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.services.s3.model.transform.Unmarshallers$InitiateMultipartUploadResultUnmarshaller.unmarshall(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.http.HttpClient.handleResponse(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.http.HttpClient.executeHelper(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.http.HttpClient.execute(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.services.s3.AmazonS3Client.initiateMultipartUpload(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.services.s3.transfer.internal.MultipartUploadCallable.initiateMultipartUpload(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.services.s3.transfer.internal.MultipartUploadCallable.call(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.services.s3.transfer.internal.MultipartUploadCallable.call(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.services.s3.transfer.internal.TransferStateUpdatingCallable.call(Unknown Source) 
E/HttpClient(6081): at com.amazonaws.services.s3.transfer.internal.TransferStateUpdatingCallable.call(Unknown Source) 
E/HttpClient(6081): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
E/HttpClient(6081): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 

E/HttpClientを(6081)::java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.javaで(6081):java.lang.Thread.run(Thread.java:568) E/HttpClient(6081):java.util.concurrent.ThreadPoolExecutor 1102)

答えて

関連する問題