0
multerとmulter-s3 npmをnode.jsとexpressで使用してS3に画像をアップロードする際に問題があります。node.js express multer問題multer-s3 npmを使用してs3に画像をアップロードする
私はmulterとmulter-s3のドキュメントを読んでチュートリアルに従い、stackoverflowやその他のWebサイトで検索して問題を解決しましたが、成功しませんでした。
これは私のクライアント側のコードです:
<form method="post" enctype="multipart/form-data" action="/test">
<p>
<input type="text" name="title" placeholder="optional title"/>
</p>
<p>
<input type="file" name="upl"/>
</p>
<p>
<input type="submit"/>
</p>
</form>
そしてここでは、私のサーバー側のコードです:
var express = require('express'),
router = express.Router(),
aws = require('aws-sdk'),
multer = require('multer'),
multerS3 = require('multer-s3'),
s3 = new aws.S3()
aws.config = ({
secretAccessKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
accessKeyId: 'XXXXXXXXXXXXXX'
});
var upload = multer({
storage: multerS3({
s3: s3,
bucket: 'styleboxphotosbianor',
key: function (req, file, cb) {
console.log(file);
cb(null, file.originalname); //use Date.now() for unique file keys
}
})
});
//open in browser to see upload form
router.get('/', function (req, res) {
res.render('multer');
});
//use by upload form
router.post('/', upload.array('upl',1), function (req, res, next) {
res.send("Uploaded!");
});
module.exports = router;
そして、私はこのエラー
TypeError: this.s3.upload is not a function
at S3Storage.<anonymous> (/Users/magintosh/bianor/node_modules/multer-s3/index.js:150:26)
を得たので、私はあなたの助け私の友人を必要としています。ここに来てくれてありがとう!
ありがとうございました! –
@Rajan ..ファイルを変換するために 'ffmpeg'を実装し、' S3'にアップロードする方法は? – Somename
@Somename私はまだこれをやったことがないが、次の質問は良い出発点のようだhttp://stackoverflow.com/questions/28286798/nodejs-ffmpeg-sending-response-when-ffmpeg-is-completed http:///stackoverflow.com/questions/43227600/how-to-access-uploaded-file-from-multer – Rajan