【问题标题】:Get file data to parse on server获取要在服务器上解析的文件数据
【发布时间】:2018-02-23 21:53:47
【问题描述】:

我正在尝试上传一个简单的 pdf 文件。

我使用express-fileupload 完成将文件上传到服务器的工作,这里一切正常,问题来了,我需要使用收到的缓冲区创建文件,基本上我需要将文件存储在服务器。我该怎么做?

目前在我的服务器中我正在接收这些数据:

{ name: 'sda.pdf',
  data: <Buffer 25 50 44 46 2d 31 2e 35 0d 25 e2 e3 cf d3 0d 0a 31 20 30 20 6f 62 6a 0d 3c 3c 2f 4d 65 74 61 64 61 74 61 20 32 20 30 20 52 2f 4f 43 50 72 6f 70 65 72 ... >,
  encoding: '7bit',
  mimetype: 'application/pdf',
  mv: [Function: mv] }

我在上传路径上记录数据:

router.post('/upload', function(req, res, next) {
  console.log(req.files.curriculum);
});

有什么帮助吗?

【问题讨论】:

  • 嘿,您在此页面上看到“完整示例”了吗:npmjs.com/package/express-fileupload
  • 我仍然收到此错误:{"errno":-4058,"code":"ENOENT","syscall":"open","path":"C:\\Users\\ FilipeCosta\\Desktop\\easyRH\\files\\CV-FILIPECOSTA.pdf"}
  • 您放置文件的目录是否存在? stackoverflow.com/questions/20552824/…
  • 是的,但我仍然得到顶部的绝对路径
  • 好的,错误提示“系统调用”:“打开”。所以也许它正在尝试打开文件,然后将数据放入其中。也许它有助于首先检查文件是否存在,如果存在,则写入..否则创建文件然后写入它。

标签: javascript node.js file file-upload buffer


【解决方案1】:

您可以在express-fileupload 对象上看到mv 函数。使用此功能将文件放在服务器上所需的位置。 (来自 express-fileupload 自述文件)

sampleFile.mv('/somewhere/on/your/server/filename.jpg', function(err) {
    if (err)
        return res.status(500).send(err);
    res.send('File uploaded!');
});

【讨论】:

  • 我仍然没有文件,我收到此错误:{"errno":-4058,"code":"ENOENT","syscall":"open","path": "C:\\Users\\FilipeCosta\\Desktop\\easyRH\\files\\CV-FILIPECOSTA.pdf"}
  • 你能提供一个你的.mv函数调用的例子吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-22
  • 1970-01-01
  • 2018-09-07
相关资源
最近更新 更多