0

multer-s3 を使用して大きなファイルをアップロードできません。エラーも出ていません。ファイルをアップロードせず、コールバックに入らず、タイムアウトするだけです。大きなファイルを s3 バケットにアップロードする方法はありますか?

私はこのように使用しています:

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
            }
    });
}
4

1 に答える 1

0

同じ問題があり、このページcontentLengthを調査した後、パラメーターの 1 つとして追加する必要があることがわかりました。その値はバイト単位の長さです。

const s3 = new AWS.S3({
    accessKeyId: process.env.S3_ACCESS_KEY_ID,
    secretAccessKey: process.env.S3_SECRET_ACCESS_KEY
});

var upload = multer({
  storage: multerS3({
    s3: s3,
    bucket: 'myBucket',
    contentType: multerS3.AUTO_CONTENT_TYPE,
    contentLength: 500000000,
    metadata: function (req, file, cb) {
      cb(null, {fieldName: file.fieldname});
    },
    key: function (req, file, cb) {
      cb(null, file.originalname);
    }
  })
});

router.post('/uploadToS3', upload.array('photos', 30), function(req, res, next) {
  res.send({"message": 'Successfully uploaded ' + req.files.length + ' files!'});
})
于 2018-11-21T17:36:24.357 に答える