mysql - Express Node 发送文件到DB或文件上传

标签 mysql node.js database express

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

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

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

  • 文件 ID
  • Blob ,
  • 创建时间
  • 用户 ID

任何想法或建议。 谢谢

最佳答案

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

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

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

关于mysql - Express Node 发送文件到DB或文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46616432/

相关文章:

android - 在编写测试时初始化 Activity 之前设置数据库

mysql - EC2 AWS 上的 Laravel 4 php artisan migrate 命令出现 PDO 异常

python - Django-Celery 数据库访问

.net - 删除记录前面的 0

node.js - 如何更新正在运行的 Node.js 服务器?

css - foundation-sites 包含在 webpack 中。不能使用样式

java - 使用 Netbeans 将数据插入 Access 时出错

php - 事件页面 - 参加或不参加 - 我将如何实现?

php - 如何使用 PHP 检查 MySQL 数据库中的 10 个最新条目是否以字符串开头?

node.js - 如果 Node 5 已安装在 Windows 上,如何安装 Node 4 版本