javascript - Nodejs 处理上传的文件

标签 javascript node.js drag-and-drop axios

我制作了一个网络应用程序,人们可以通过拖放来上传文件。他们发出一个请求,将文件发送到 Nodejs 服务器。

  uploadLocalFilesToDrive(e) {
    var files = e.dataTransfer.files;
    axios.post('/api/uploadLocalFilesToDrive', files[0])
    .then(function (res) {
       console.log('upload done');
     })
}

现在nodejs服务器的目标是将这个文件保存在服务器硬盘上。这是我为处理上述请求所做的:

  uploadLocalFilesToDrive: (req, res) => {
    for(var key in req.body){
      filesystem.writeFile('new file name', key, function (err) {
        console.log("It's saved"); 
      });
    }
  }

它似乎可以很好地处理文本文件,但是每当用户上传 .pdf 时,该 pdf 就会损坏。我感觉这是一个问题,因为 axios post 请求仅向 nodejs 服务器发送文本,但我不确定。如有帮助,我们将不胜感激!

最佳答案

Multer是nodejs-expressjs文件上传的最佳解决方案。尝试一下

关于javascript - Nodejs 处理上传的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47802535/

相关文章:

java - swing Drop 事件多个文件

delphi - Firemonkey 中缺少事件操作和过程

javascript - 如何向数据属性添加更多对象或数组

javascript - 全屏视频不允许在 Firefox 上滚动

javascript - 我制作了一个 Javascript slider ,但我在使用 CSS 时遇到了一些严重的问题。

node.js - 运行 'The "时如何修复 : 'vue add vuetify' path"argument must be of type string. 接收类型未定义'

node.js - Node postgres : Not working issuing a NOTIFY job from postgres CLI

node.js - async.eachSeries 每次迭代仅运行一次,其中包含 async.waterfall

javascript - Handsonetable - 对组件的多个实例进行撤消/重做

android - 在谷歌地图上拖动标记需要太多时间