Articles of gridfs stream

Node.jsfile upload(Express 4,MongoDB,GridFS,GridFSstream)

我正在尝试在我的node.js应用程序中设置一个文件API。 我的目标是能够直接将文件stream写入到gridfs,而不需要最初将文件存储到磁盘。 这看起来像我的创build代码正在工作。 我能够保存file upload到网格。 问题是阅读文件。 当我尝试通过networking浏览器窗口下载保存的文件时,我发现文件内容包装了如下内容: ——WebKitFormBoundarye38W9pfG1wiA100l Content-Disposition: form-data; name="file"; filename="myfile.txt" Content-Type: text/javascript ***File contents here*** ——WebKitFormBoundarye38W9pfG1wiA100l– 所以我的问题是我需要做什么从文件stream中剥离边界信息,然后将其保存到gridfs? 这是我正在使用的代码: 'use strict'; var mongoose = require('mongoose'); var _ = require('lodash'); var Grid = require('gridfs-stream'); Grid.mongo = mongoose.mongo; var gfs = new Grid(mongoose.connection.db); // I think this works. I see the file record in fs.files exports.create […]

在GridFS,express,mongoDB,node.js中存储来自POST请求的数据stream

我想弄清楚如何直接将图像发布到GridFS,而不必将其存储在服务器上的任何位置作为临时文件。 我正在使用Postman(chrome ext。)发布文件,并使用以下命令将此文章存储为文件: req.pipe(fs.createWriteStream('./test.png')); 当从服务器上的文件创buildreadStream时,我也能够从readStream直接存储到GridFS。 (见代码) 我有以下文件, saveFromReq.js监听POST,基本上只是将其传递给savePic.js 。 saveFromReq.js: var express = require('express'); var app = express(); var savePic = require('./savePic'); var fs = require('fs'); var GridStore = require('mongodb').GridStore; var pic = './square.png'; var picID; //When the following //var pic = fs.createReadStream('./square.png', {autoClose: true}); //is not commented out, and 'req' is replaced with 'pic' […]