我正在尝试使用java sdk上传大文件(小于5 GB,因此不是分段上传,正常上传)。较小的文件立即上传。但文件超过1 MB,不上传。我的代码卡在实际上传发生的lince中。我尝试使用传输管理器(TransferManager.upload)函数,当我检查传输的字节数时,它会继续传输超过1 MB并继续运行,直到我强制停止我的java应用程序。可能是什么原因,我哪里出错了。相同的代码适用于较小的文件。问题仅限于较大的文件。
DefaultAWSCredentialsProviderChain credentialProviderChain = new DefaultAWSCredentialsProviderChain(); TransferManager tx = new TransferManager(credentialProviderChain.getCredentials()); 上传myUpload = tx.upload(S3bucket,fileKey,file);
while(myUpload.isDone() == false) {
System.out.println("Transfer: " + myUpload.getDescription());
System.out.println(" - State: " + myUpload.getState());
System.out.println(" - Progress: "
+ myUpload.getProgress().getBytesTransferred());
}
s3Client.upload(new PutObjectRequest(S3bucket,fileKey,file));
尝试了传输管理器上传和putobject方法。两者都有同样的问题。
TIA。