在我的节点js项目中使用express-fileupload上传错误

时间:2019-12-15 15:20:23

标签: node.js express

我上载文件时出错。我得到的回应是我的请求正文中有一个文件,但没有上传

  

我的代码

const fs = require('fs')
    const express =  require('express')
    const app = express();
    const fileUpload = require('express-fileupload')
    var http = require('http')
    // var stream = fs.createReadStream(__dirname+'/files/1576350919658.jpeg');
    var path = require('path')

app.use(fileUpload())

app.post('/',(req,res,next)=>{

    console.log(req.files)
    let file = req.files.image;
    file.mv(__dirname+'/files', (err)=>{
        if(err){
          return  res.send(err)
        }
        return res.send('File Uploaded')
    })
})

app.listen(2020)
console.log('listening')
  

错误:

{
    "errno": -4068,
    "code": "EISDIR",
    "syscall": "open",
    "path": "D:\\wd\\javascript\\Projects\\uploadFiles\\files"
}

2 个答案:

答案 0 :(得分:0)

const fs = require('fs')
const express =  require('express')
const app = express();
const fileUpload = require('express-fileupload')
var http = require('http')
// var stream = fs.createReadStream(__dirname+'/files/1576350919658.jpeg');
var path = require('path')

app.use(fileUpload())

app.post('/',(req,res,next)=>{

    console.log(req.files)
    let file = req.files.image;
    file.mv(__dirname+'/files/ddddd.jpg', (err)=>{
        if(err){
          return  res.send(err)
        }
        return res.send('File Uploaded')
    })
})

app.listen(2020)
console.log('listening')

答案 1 :(得分:0)

将您的图像转换为 base64 数据。

var base64Data = req.body.file_data // base64 string
var file_name='123.png';
var file_dir = "assets/client_folios/"
var fs = require("fs");
if (!fs.existsSync('assets/')){
  fs.mkdirSync('assets/');
}
if (!fs.existsSync(file_dir)){
   fs.mkdirSync(file_dir);
}
var file_path="assets/client_folios/"+file_name

 var file_path="assets/client_folios/"+file_name
fs.writeFile(file_path, base64Data, 'base64',async function(err) {

}