【问题标题】:Express node sending file to DB or file uploadExpress 节点发送文件到数据库或文件上传
【发布时间】:2017-10-08 00:09:42
【问题描述】:

我是 Express/Node 环境的新手,不了解提供的 API 和功能。我们的项目中有 Express 4,需要添加几个文件上传按钮的功能。 我们考虑将文件存储到数据库(SQL Server)表而不是文件系统。 我尝试了一些示例,并且能够将文件上传到文件系统(使用 express-file-upload 模块)。 现在我想尝试我们团队所需的 DB 表,并想根据我们的需要了解最佳方式。 我看到选项是

-busboy 模块 - 穆尔特 - 用于打开/读取文件和插入查询的简单文件/路径模块(我正在尝试这种方法,但不知道它是否有效)

请建议正确的方法。 使用相同的文件上传按钮,现在文件将存储在表中。表格列是

  • 文件编号
  • 斑点,
  • 创建时间
  • 用户名

任何想法或建议。 谢谢

【问题讨论】:

    标签: mysql node.js database express


    【解决方案1】:

    我建议使用multer,因为它抽象了文件上传的大部分复杂性。

    您当然可以在数据库中存储文件 blob,但我不会这样做。这将使您的数据库非常大,备份可能需要很长时间。请参阅thisstackexchange 答案。

    我强烈建议存储在服务器本身或更好,使用S3。通过使用 S3,您可以获得 AWS 的所有优势和超低的价格。然后将 S3 密钥存储在数据库中。

    【讨论】:

    • 感谢您花时间回复。我会试试multer。我能够使用 express-file-upload 将其存储在本地。我认为拥有 AWS 不会成为我们的选择。但我一定会和我们的团队一起检查。你知道互联网上很少有使用 S3 存储的例子吗?只是为了学习。我们在技术方面受到限制。我们需要使用 sql server db 在 IIS env 上部署节点。如果没有,将选择服务器存储选项。
    猜你喜欢
    • 2016-11-20
    • 1970-01-01
    • 2016-10-11
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    相关资源
    最近更新 更多