无法使用Express js在Glitch上传文件

时间:2018-01-11 23:24:19

标签: javascript node.js express

我创建了一个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"}

如果您知道将文件上传到哪里,请告诉我们。任何帮助将非常感谢!

0 个答案:

没有答案