node.js - 使用 ExpressJS 中的 `VARCHAR` 存储图像在数据库中的位置以及服务器硬盘中的图像

标签 node.js express node-mysql

如何在 ExpressJS 中执行此操作?

  • 使用 VARCHAR 在数据库中存储图像的位置 数据类型而不是任何 BLOB 或其他binary 数据类型。
  • 然后将该图像存储在服务器硬盘中可能的图像空间中 /public/images/
<小时/>

我是新来表达的 .

有任何示例可以实现此目的吗?

最佳答案

您可以使用multipart middleware ,它会自动将文件上传到磁盘,然后提供一个 req.files 对象。

app.use('/upload', express.multipart({ uploadDir: '/public/images' }));

配置完成后,在请求处理程序中,您可以获取上传路径(请参阅多方的 documentation ,它由 multipart 中间件内部使用):

app.post('/upload', function (req, res, next) {
  // Assuming the field name of the file in the form is 'file'
  var path = req.files.file.path;
  connection.query('your mysql query', next);
});

关于node.js - 使用 ExpressJS 中的 `VARCHAR` 存储图像在数据库中的位置以及服务器硬盘中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20213400/

相关文章:

mysql - Node mysql顺序查询执行

node.js - Node.js 的跨浏览器 COMET 实现

javascript - 我如何访问 JSON 文档中的子元素

express - 在 Ubuntu 18.04 服务器上安装 Oracle Express Edition 18c - 连接问题

javascript - Express session 不适用于 Firebase 托管

node.js - 为什么我的 Q promise 不起作用?

node.js - 如何安装 Node mysql?

node.js - 在 MAC 上本地运行定时器触发的 azure 函数(在 docker 中)

node.js - Socket.IO 向房间发送聊天消息

node.js - Next.js 使用 JWT 进行身份验证