使用 react/express/multer 上传文件夹中的文件

老外

我正在尝试使用 express 和 multer 上传大文件。

回调请求发送 200 但我真的不知道如何将我的文件上传到特定文件夹中。我尝试了两种方法都没有成功。

第一个:

app.post('/upload', (req, res, next) => {
  let myFile = req.files;
  let i = 0;

for (i; i < myFile.length; i++) {
    let filemName = MyFile[i].name
    myFile[i].mv(`${__dirname}/uploads/${fileName}`, function(err) {
      if (err) {
        return res.status(500).send(err);
      }
      res.json({file: `uploads/${fileName}`});
    });
  }
})

此代码返回 500。

第二种方式(只用一个文件试过):

app.post ('/uploader', (req, res, next) => {
  var file =  req.files.file;

  // file.mv(`${__dirname}/uploads/${file.name}`), function(err) {
  //   if (err) {
  //     return res.status(500).send(err);
  //   }
  // }
  console.log('file');
  console.log(file[0]);
  fs.rename(req.file[0], '~/dev/file-upload/backend/uploads' +  file[0].name, function (err) {
    if (err) throw err;
    console.log('Move complete');
  })

此代码不会返回任何错误,但不会将文件放入文件夹中。最后我的客户端代码:

     handleUploadFile(event) {
    event.preventDefault();

    const data = new FormData();

    let c = this.uploadInput.files.length;
    console.log("c = ", c);

    console.log("mydata :", this.uploadInput.files);
    for (var i = 0; i < c; i++){
      data.append('filename', this.uploadInput.files[i].name);
      data.append('file', this.uploadInput.files[i]);
    }

  var options = {
    method: 'post',
    body: data,
  }

    fetch(apiBaseUrl + '/uploader', options).then((response) => {
      console.log('res', response);
    }).catch(function (err) {
      console.error("!!! error :",  err);
    })
  }

  render() {
    return (
      <form onSubmit={this.handleUploadFile}>
        <div>
          <input ref={(ref) => { this.uploadInput = ref; }} type="file"  multiple="multiple" />
        </div>

        <br />
        <div>
          <button>Upload</button>
        </div>    
      </form>
    );
  }

预先感谢您的帮助:)

老外

我解决了我的问题。

body-parser 不支持解析 multipart/form-data 请求的正文。

以下链接为我提供了所需的所有答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Google Drive API上传文件夹中的文件

如何使用 Alfresco Rest API 上传文档中的文件夹和子文件夹?

使用 SAS URI 上传 Blob 存储中的文件夹

使用Angular Js上传文件夹

无法使用文件上传将图像上传到node.js中的特定文件夹

使用boto3将文件上传到S3中的特定文件夹

使用API在Amazon S3存储桶中创建文件夹/上传文件

使用PHP将文件上传到错误的文件夹中

无法使用 PHP 将多个文件上传到文件夹中

如何使用Microsoft API将文件上传到其他域共享的文件夹中?

使用 office365 API 将文件上传到 Sharepoint 中的子文件夹

从上传文件夹laravel中删除未使用的图像/文件

使用PHP上传后,文件未保存在文件夹中

Python:如何使用folderId将文件上传到Google云端硬盘中的特定文件夹

如何使用OneDrive API将文件上传到OneDrive上的共享文件夹中?

使用 PHP 将本地文件夹中的所有文件上传到 SFTP

无法使用PHP将文件上传到文件夹

使用Servlet创建文件夹并上传文件

使用Laravel将文件上传到特定文件夹

使用 Laravel 上传更多文件到文件夹

如何使用文件夹父ID直接将文件上传到指定文件夹

使用Pluploader在不同文件夹中以不同大小上传图像

使用git生成文件夹通过FTP上传

使用PHP将图片上传到文件夹

使用PHP Jquery将音频上传到文件夹

使用ajax / jquery将图像上传到文件夹

如何使用 Flask 在文件夹中上传或存储图像?

使用http上传到Google云端硬盘文件夹

使用jqueryajax将图像上传到文件夹