我使用框架Expressjs通过模块express-fileupload-s3上传文件对象存储。在这里,我使用代码示例:
var http = require('http');
var express = require('express');
var mutilpart = require('connect-multiparty');
var uploader = require('express-fileuploader');
var S3Strategy = require('express-fileuploader-s3');
var app = express();
app.use('/upload/image',mutilpart());
uploader.use(new S3Strategy({
uploadPath: '/',headers: {
'x-amz-acl': 'public-read'
},options: {
domain: 'myDomainBucketObjectStorage',key: 'accessKey',secret: 'secretKey',bucket: 'bucketname'
}
}));
app.post('/upload/image',function (req,res,next) {
uploader.upload('s3',req.files['images'],function (err,files) {
if (err) {
return next(err);
}
res.send(JSON.stringify(files));
});
});
http.createServer(app).listen(8000);
参考:https://www.npmjs.com/package/express-fileuploader-s3
输出:
[{“ fieldName”:“ images”,“ originalFilename”:“ example.png”,“ path”:“ / tmp / example.png”,“ headers”:{“ content-disposition”:“ form-数据; 名称= \“图像\”; filename = \“ example.png \”“,”内容类型“:”图像/ png“},”大小“:58261,”名称“:” example.png“,”类型“:”图像/ png“, “ url”:“ https:[slash2] domain [dot] com // 50cbadc0-151a-11ea-a82c-6fb771b09257.png”}]
我认为输出成功,但是在检查到对象存储为空文件之后。有人有解决方案吗?