我想用multer从客户端的html表单上传文件到服务器端,multer模块处理服务器端的文件。Multer没有上传文件
这里的事情是一切都好,因为我得到服务器的200 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 =路由器;
Ty for the help!
你有适当的读/写persmission设为您的目的地文件夹,您要上传文件? –
是的,我有,我没有得到任何错误,通常我会得到一个CORS,但我允许它在我的应用程序文件,我不知道为什么它不起作用 –
你可以请尝试添加'/'文件后作为'callback(null,'../ files /');'看看它是否工作? –