1
retrofitでカスタムURLを使用してファイルをアップロードしようとしています。ここでAmazon S3への画像のアップロードRetrofit Failure:タイムアウト
RequestBody fileBody = RequestBody.create(MediaType.parse(artifactHeaders.getContentType()), file);
インターフェースです:
@PUT
Call<ResponseBody> uploadArtifactToAmazon2(@Url String artifactUrl,
@Header("Content-Disposition") String contentDisposition,
@Header("x-amz-server-side-encryption") String xAmzServerSideEncryption,
@Header("x-amz-security-token") String xAmzSecurityToken,
@Header("Content-Type") String contentType,
@Body RequestBody requestBody);
しかし、私は私のログでこれを取得しています:後
06-21 10:41:16.354 4760-4808/
D/OkHttp: 4�IDATx�<�g�dYv��������j7��cvf�c�5XR����!�06-21 10:41:16.354 4760-4808/D/OkHttp: E�R($�B����"()��D��.�avfz�{zf�Ww�̪J��|/��"������|ޖ�9�?9���Ȧʰ��uv���V���
06-21 10:41:16.504 4760-4808/D/OkHttp: �R>a1�~�`.�>����IOhQS�a�B>��=h0
[- - - HUNDREDS OF THESE LINES CONTINUE ]
06-21 10:41:16.567 4760-4808/D/OkHttp: Content-Type: image/png
06-21 10:41:16.567 4760-4808/D/OkHttp: Content-Length: 669719
ここ
は私がrequestBodyを作ってるんだ方法です数秒でログに記録されます:
06-21 10:41:16.626 4760-4808/D/!!!: Cookie Name: __cfduid Cookie Value: df052a1723cd06647966e629e113d4a461466515894 Expiry: Wed, 21-Jun-2017 14:41:14 GMT+00:00
06-21 10:41:28.040 4760-4808/D/!!!: Cookie Name: __cfduid Cookie Value: df052a1723cd06647966e629e113d4a461466515894 Expiry: Wed, 21-Jun-2017 14:41:26 GMT+00:00
06-21 10:41:39.014 4760-4760/D/!!!: Failure Code: timeout
イメージを戻していますか?どうしましたか?
ロギングコードの一部を表示して、その行のソースを確認できますか?また、私はサイドノートに...私はS3にアップデートするためにAWS android libを使用することを強く推奨します...以前はRetrofitを使用してS3にファイルをアップロードしましたが、パフォーマンスには感心しませんでした。彼らのlibは最適化され、マルチパートを使用します。 – snkashis
@snkashis AWS android libの使用を真剣に検討していますが、クレデンシャルを使用する必要があるのはREST APIからのもので、アプリにサイズを追加します。私はより多くのログを投稿します。 –
私は同じ懸念を抱いていましたが、スピードの向上はそれを正当化するのに十分なほど重要でした(おそらくあなたのアップロードはそれほど大きくありません)。 REST APIは、転送マネージャが使用する認知資格情報を配信できます。 – snkashis