【发布时间】:2020-02-16 16:27:10
【问题描述】:
我正在尝试通过 multer 中间件将文件加载到我的服务器,但服务器向我响应消息:无法 POST /upload
我的后端代码是(关于 multer 和 requests):
import multer from 'multer';
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE, OPTIONS");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
let storage = multer.diskStorage({
destination: (req, file, cb) =>{
cb(null, './uploads')
},
filename: (req, file, cb) => {
cb(null, file.fieldname + '-' + Date.now())
}
})
let upload = multer({ storage: storage }).single('file');
app.post('/upload', (req, res) => {
upload(req, res, (err) =>{
if (err) {
return res.end("Error uploading file.");
}
res.end("File is uploaded");
});
});
还有我的前端表单:
<form method="post" encType="multipart/form-data" action="/upload">
<input type="file" name="file" />
<input type="submit" value="Submit" />
</form>
我也尝试通过 Postman 发出请求并收到同样的错误。 也许是因为cors政策?请帮忙。
【问题讨论】: