节点aws-sdk s3file upload大小
当为nods.js使用aws-sdk npm插件时,可以使用以下代码(至AWS s3)在50kb上传pdf:
var params = { Bucket: BUCKET, Key: pdf_key, Body: file, ContentType: 'application/pdf' }; var s3 = new AWS.S3(); s3.putObject(params, function(error, data) { console.log(data); console.log(error); if (error) { console.log(error); callback(error, null); } else { callback(null, pdf_key); } });
但是,当上传一个11MB的pdf时,即使指定了ContentLength
,上传也会一直持续下去,即使超时2分钟。
问题是我该如何让aws s3接受大型pdf文件?
UPDATE
对于这个问题,我还没有find任何文件或反驳。
更新2
我会接受显示这个或另一个可以做到这一点的框架的答案。 我需要这个框架才能够允许对对象进行authentication读取。
更新3我现在工作,但我还没有find一个理由,它不应该工作。
提前致谢!
连接到S3并不快,然后根据networking波动,你可以得到超时和其他奇怪的行为。
你提供的代码是好的,但你可以利用分段上传,可以解决问题,特别是> 5MB的文件。
我粗略地实现了一个分段上传 ,并且使得它重试任何失败部分的上传最多3次,这也适用于小于5MB的文件。
- Amazon S3 EPIPE错误
- 如何从s3存储和检索dynamodb中的照片url?
- 如何使用AWS SDK for Node.js将Amazon S3中的所有对象从一个前缀复制/移动到另一个前缀
- 上传时错误的图像方向 – Amazon S3
- 我应该如何批量上传到s3,并通过最终callback从nodeJS webserver插入到MongoDB?
- 如何使用nodejs在亚马逊S3上传图像并将其公开
- S3设置Access-Control-Allow-Origin头
- 使用请求从节点stream上传到S3的问题
- nodejs – 使用fs.createReadStream,requestjs,streaming和AWS S3 presigned url上传会引发错误