【问题标题】:[Error: ENOENT: no such file or directory, open 'C:\Users\Lenovo\Desktop\myCart\public\product_images\.......][Error: ENOENT: no such file or directory, open 'C:\Users\Lenovo\Desktop\myCart\public\product_images\.......]
【发布时间】:2020-06-15 12:51:15
【问题描述】:

我运行了以下代码,并希望图像的内容转到路径变量中提到的位置,但它却显示了这个错误:

[Error: ENOENT: no such file or directory, open 'C:\Users\Lenovo\Desktop\myCart\public\product_images\5e5dfcdb791fbf15a832b374\image.png'] {
 errno: -4058,
 code: 'ENOENT',
 syscall: 'open',
 path: 'C:\\Users\\Lenovo\\Desktop\\myCart\\public\\product_images\\5e5dfcdb791fbf15a832b374\\image.png'
}

这是我的代码:

  First Code:
  var fileUpload=require('express-fileupload');

  Middleware:
  app.use(fileUpload());

  Add_Products:
  <input type="file" accept="image/*" onchange=" previewFile()" name="image" class="form-control">

  Post Request:
  if(!req.files){
            var imageFile=''
          }
          if(req.files){
            imageFile= req.files.image.name;
          }

            if(imageFile!=''){

            var product_image=req.files.image;

            var path='public/product_images/'+product._id+'/'+imageFile;
            product_image.mv(path,function(err){
              if(err){
                console.log(err);
              }

            })

【问题讨论】:

  • 什么是 mv() 方法?是这个 --> npmjs.com/package/mv 还是你写了一个单独的方法。能分享一下mv的定义吗?

标签: javascript express file-upload middleware mv


【解决方案1】:

试试这个选项:

Middleware:
app.use(fileUpload({ createParentPath: true }));

默认为false

【讨论】:

    【解决方案2】:

    我不确定这是否有效:

    product_image.mv(路径,函数(err){

    但另一个问题是,您没有使用 id 创建目录。 尝试将 privture 保存在 public foldert 没有带有 id 的文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-23
      • 2017-02-08
      • 1970-01-01
      • 2022-12-01
      • 2018-11-06
      • 1970-01-01
      • 2022-07-11
      • 2018-09-09
      相关资源
      最近更新 更多