我创建了一个Glitch项目,我想通过用户输入上传文件。我正在使用express-fileupload,我按照他们的文档中的示例代码上传文件,但我一直收到错误。我认为这可能与我用来移动文件的目录有关。我尝试过使用' / app / views / uploads'和'上传/'以及' / assets' (我使用assets.js这样做)并且我还没有能够存储文件。这是我的代码:
var express = require('express');
var fileUpload= require('express-fileupload');
var app = express();
var assets = require("./assets");
app.use("/assets", assets);
app.use(express.static('views'));
app.use(fileUpload());
app.set('view engine', 'ejs');
app.set('views', 'views');
app.get("/", function (request, response) {
response.render('index');
});
app.get('/fileupload', function(req, res) {
res.render('upload');
});
app.post('/upload', function(req, res) {
var sample= req.files.sample;
sample.mv('/assets', function(err) {
if (err)
return res.status(500).send(err);
res.send('File uploaded!');
});
});
var listener = app.listen(process.env.PORT, function () {
console.log('SERVER STARTED ON PORT ' + listener.address().port);
});
成功收到文件,因此不存在的文件不是我收到错误的原因。
我通常将此视为错误:
{"errno":-13,"code":"EACCES","syscall":"open","path":"/assets"}
如果您知道将文件上传到哪里,请告诉我们。任何帮助将非常感谢!