Node.js 通过 REST API 发送图像

标签 node.js mongodb rest gridfs file-storage

我正在努力寻找这方面的 Material

我有一个用 node.js 编写的 rest API,它使用 mongoDB。

我希望用户能够上传图片(个人资料图片)并将它们保存在服务器上(在 mongoDB 中)。

几个问题,我看到推荐使用GridFS,这是最好的解决方案吗?

我如何发送这些文件?我见过 res.sendFile,但这又是最佳解决方案吗?

如果有人有任何 Material 可以链接我,我将不胜感激

谢谢

最佳答案

您将无法直接在服务器上获取文件对象。要在服务器上获取文件对象,请使用 connect-multiparty 中间件。这将允许您访问服务器上的文件。

var multipart = require('connect-multiparty');
var multipartmiddleware = multipart();
var mv = require('mv');
var path = require('path');

app.post("/URL",multipartmiddleware,function(req,res){
    var uploadedImage = req.files.file;
    for (var i = 0; i < uploadedImage.length; i++) {
        var tempPath = uploadedImage[i].path;
        var targetPath = path.join(__dirname ,"../../../img/Ads/" + i + uploadedImage[i].name);

        mv(tempPath, targetPath, function (err) {
           if (err) { throw err; }
        });
    }
})

关于Node.js 通过 REST API 发送图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41524662/

相关文章:

javascript - 一键执行多个js文件

javascript - Bookshelf.js - 如何仅获取一个查询的 'hidden' 字段?

language-agnostic - 自定义操作应该使用哪个动词?

node.js - 如何搜索类型为 'array' 的模型属性

angularjs - Excel 下载在 MEAN stack 应用程序中不起作用

mongodb - meteor 与 DynamoDB

scala - Salat 没有反序列化映射到 Option[Set[A]] 的集合

java - 解析 AggregationOutput mongo java 驱动程序

rest - 使用 reSTLet 调用 Camel Rest 服务给我 401

json - Nodejs json-schema 无法读取架构