我正尝试通过我的有角度的网络应用程序将大文件(PDF,视频)上传到AWS s3 bucket
。我使用ng-file-upload
将文件上传到我的节点服务器,在节点上我正在使用multer-s3
npm包。
对于小文件,它按预期工作得很好。但我无法使用上传大文件。它也没有给我任何错误。它只是没有上传文件(如果它很大),甚至没有进入回调并且超时。有没有办法处理上传大文件到s3 Bucket?
var uploadSingle = upload.single('uploadFile');
router.post('/uploadVideo',function(req,res,next){
uploadSingle(req,res,function(err){
// doesn't come here if the file is large
if(err){
//Error Response , Error while uploading Module PDF;
}
else{
//handling file upload
// success response
}
});
}
如果有人能帮我解决这个问题,我非常感激。如果您知道其他库可以帮助我在AWS s3存储桶上传大文件,请建议。
答案 0 :(得分:0)
您可以使用分段上传API 在S3中上传大文件(最大5 TB)。
分段上传API旨在改善上传体验 用于较大的物体。您可以分段上传对象。这些对象 零件可以独立,以任何顺序并行上传。 您可以将分段上传用于大小从5 MB到5 TB的对象。 有关更多信息,请参见使用分段上传来上传对象。 API。
如果您使用的是SDK:
/* The following example initiates a multipart upload. */
var params = {
Bucket: "examplebucket",
Key: "largeobject"
};
s3.createMultipartUpload(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
/*
data = {
Bucket: "examplebucket",
Key: "largeobject",
UploadId: "ibZBv_75gd9r8lH_gqXatLdxMVpAlj6ZQjEs.OwyF3953YdwbcQnMA2BLGn8Lx12fQNICtMw5KyteFeHw.Sjng--"
}
*/
});