multerを使用してクライアント側のhtml形式からサーバー側にファイルをアップロードしようとしていますが、multerモジュールはサーバー側のファイルを処理します。multerがファイルをアップロードしていません
ここからは、サーバーから200 ok応答が得られるのですべてがOKですが、ファイルはfileSystemにアップロードする必要があり、表示できません。
は、これは私のHTMLフォーム
<template>
<div id="app">
<form action="http://localhost:3000/upload" method="post" enctype="multipart/form-data">
<h2>Select a file</h2>
<input name="curriculum" id="inputVal" type="file">
<button type="submit">Send</button>
</form>
</div>
</template>
私のサーバー側のコード
var express = require('express');
var router = express.Router();
var path = require('path');
var fs = require('fs');
var multer = require('multer')
var storage = multer.diskStorage({
destination: function(req,file,callback) {
callback(null, '../files');
},
filename: function(req,file,callback) {
callback(null,Date.now() + file,callback);
}
})
var upload = multer({ storage: storage }).single('curriculum');
router.post('/upload', function (req, res, next) {
upload(req,res, function(err){
if(err) {
return res.status(404).send("a error ocurred");
}
res.status(200).send("file uploaded");
});
});
module.exportsは=ルータです。 UPDATE
は、私は私のソリューションベースドンNPMのmulterのウェブサイト(サーバ側)
var express = require('express');
var router = express.Router();
var path = require('path');
var fs = require('fs');
var multer = require('multer')
var upload = multer({ dest: 'uploads/' });
router.post('/upload',upload.single('curriculum') ,function (req, res, next) {
console.log(req.files);
});
module.exportsは=ルータを変更しました。
助けてください!
あなたがあなたのファイルをアップロードしようとしているあなたの保存先フォルダに設定され、適切な読み取り/書き込みpersmissionを持っていますか? –
はい、私はエラーはありません、通常私はCORSを取得するだろうが、私はそれが私のアプリケーションファイルで許可する、私はなぜそれが動作しないのか分からない –
あなたのファイルの後に '/' 'callback(null、 '../ files /');'として動作していますか? –