【问题标题】:Multer image upload not working - req.file.path undefined多重图像上传不起作用 - req.file.path 未定义
【发布时间】:2016-12-26 02:23:55
【问题描述】:

所以我用 express 写了一个基本的 multer 上传,如果数据只是一个文件输入,它可以工作,如果我尝试使用 formdata.append() 附加一段额外的文本数据,它在服务器上不起作用它在服务器端给出了一个未定义的 req.file.path

这是我的 Multer 设置

var upload = multer({ dest: 'uploads/' })

express.post()

app.post("/rest/OCR", upload.single('image'), function(req, res, next){
  console.log("Receiving File")
  console.log(req.file.path);
}

HTML 表单

<form action='/rest/ocr' id='imageUploadForm' method='post' enctype='multipart/form-data'>
    <input class='vwide upload-button' type='file' name='file'>

    <input type='submit'>
</form>

JS 调用

 $(document.body).on('submit', '#imageUploadForm', function(e){
        e.preventDefault();
        var self = this;
        var data = new FormData();
        data.append('id', cardlob.profile.auth.id);
        data.append('file', $(this)[0]);
        $.ajax({
            processData: false, 
            cache: false,
            async: false, 
            data: data,
            url: "/rest/OCR",
            type: 'POST',
            success: function(data, textStatus, jqXHR){
                var cardDto = JSON.parse(data);
                if(cardDto.vCardFormattedString !== "null"){
                    window.open("/cards/"+cardDto.hash+".vcf");
                }else{
                    $("#textData").append("<h4> No Business Cards Found in image </h4>");
                }
            }
        });
    });

我不知道发生了什么使这个未定义

【问题讨论】:

    标签: express multer


    【解决方案1】:

    .single() 调用中的属性名称必须与文件输入的名称相同。因此,在您的情况下,您的标记中有:

    <input class='vwide upload-button' type='file' name='file'>
    

    所以你的路由器中间件应该是:

    app.post("/rest/OCR", upload.single('file'), function(req, res, next){
      console.log("Receiving File")
      console.log(req.file.path);
    }
    

    【讨论】:

      猜你喜欢
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多