我在Android上的Cordova应用中使用AWS JavaScript SDK,并设置了如下配置。
AWS.config = new AWS.Config({
region: Constants.region,
httpOptions: {
timeout: 1200000 //20 mins
}
});
我能够上传>2MB大小的图片和文本文件,没有问题。但该代码总是无法上传任何大小的视频文件。以下是我得到的错误日志
PUT https:/s3.ap-south-1.amazonaws.commy-s3-bucketfilesVID-20170127-WA0017.mp4。 net::ERR_CONNECTION_RESET
PUT https:/s3.ap-south-1.amazonaws.commy-s3-bucketfilesVID-20170127-WA0017.mp4。 net::ERR_CONNECTION_RESET
PUT https:/s3.ap-south-1.amazonaws.commy-s3-bucketfilesVID-20170127-WA0017.mp4。 net::ERR_CONNECTION_RESET
PUT https:/s3.ap-south-1.amazonaws.commy-s3-bucketfilesVID-20170127-WA0017.mp4。 net::ERR_CONNECTION_RESET
尽管配置了20分钟的超时,但似乎在45-50秒后连接就被重置了。
虽然我不知道为什么我注意到Android用https Url上传大文件在AWS S3上会失败。这和AWS的https证书有关系,因为我在DigitialOcean Spaces上没有遇到过这个问题。
所以这里的解决办法是尝试上传至非https端点。