我正在创建一个可以上传s3和gcs的nodejs express程序。
在我的代码' / uploadAll'不起作用。
仅上传到s3而未上传到gcs。
我试过Google但却找不到它。
如何上传所有这些内容?
我期待您的回复......谢谢!
const express = require('express');
const bodyParser = require('body-parser');
const multer = require('multer');
const awsSDK = require('aws-sdk');
const s3 = new awsSDK.S3();
const multerS3 = require('multer-s3');
const multerGoogleStorage = require("multer-google-storage");
const app = express();
app.use(bodyParser.json());
const gcsMulter = multer({
storage: multerGoogleStorage.storageEngine({
keyFilename: '../key.json',
bucket: 'test-bucket',
projectId: 'TestProject',
filename: function (req, file, cb) {
cb(null, `test/_${file.originalname}`);
}
})
});
const s3Multer = multer({
storage: multerS3({
s3: s3,
bucket: 'test-bucket',
acl: 'public-read',
key: function (req, file, cb) {
cb(null, `test/_${file.originalname}`);
}
})
});
const s3Upload = s3Multer.fields([{
name: 'images'
}, {
name: 'thumbs'
}]);
const gcsUpload = gcsMulter.fields([{
name: 'images'
}, {
name: 'thumbs'
}]);
app.post('/uploadS3', s3Upload, (req, res, next) => {
res.json(req.files);
});
app.post('/uploadGCS', gcsUpload, (req, res, next) => {
res.json(req.files);
});
app.post('/uploadAll', s3Upload, gcsUpload, (req, res, next) => {
res.json(req.files);
});
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
console.log(`App listening on port ${PORT}`);
console.log('Press Ctrl+C to quit.');
});
答案 0 :(得分:1)
GCS目前不支持分段上传。