草庐IT

gridfs-stream

全部标签

ruby - 如何使用 GridFS 上传文件并将其直接保存到 MongoDB

我有一个托管在heroku上的Sinatra应用程序,我正在尝试启用文件上传。我知道heroku不允许保存到文件系统,所以我试图直接使用GridFS将图像保存到MongoDB。但我不知道怎么办。使用下面的代码,我可以保存到文件系统base_dir=Dir.pwd+"/static/images/channels/"File.open("#{base_dir}"+params['logo'][:filename],"w")do|f|f.write(params['logo'][:tempfile].read)end如何在不先将文件保存到文件系统的情况下将文件直接保存到MongoDB?

java - 使用 GridFS 确保文件插入完成 - MongoDB Java API

我有一个上传图片的REST服务,这是负责在mongodb中注册的主要代码:publicStringwriteFiles(InputStreaminputStream,StringfileName,StringcontentType)throwsIOException{//savethefileGridFSgridFS=newGridFS(getDB(),Collections.PICTURES_FILES.name());GridFSInputFilegridFSInputFile=gridFS.createFile(inputStream,fileName);gridFSInputF

MongoDB GridFS 文件大小对于相对较小的文件来说很大

我正在做一些测试,看看我们是否可以在MongoDB上使用GridFS来存储文件以供将来的应用程序使用;我正在使用10gen的C#驱动程序将一个80Mb的文件“上传”到数据库。第一次添加很好,花了大约3秒,这在我的测试机器上还算不错;然而,以后添加同一个文件需要更长的时间,最多30秒,最终MongoDB告诉我它耗尽了内存并崩溃了。添加10个大小为80Mb的文件会导致在系统崩溃之前为我的数据库创建8个文件,名为dbaseName.0到dbaseName.7,它们的文件大小从16Mb呈指数增长到512Mb,从文件0到5,然后是文件6和7个都是512Mb。这些文件不到2Gb,显然第10次添加文

java - GridFS 使用 Java 驱动程序仅检索一个文件范围

文档提到可以使用gridFS检索文档的范围。但是我还没有找到有关此的更多详细信息。我想使用java驱动程序为grails应用程序获取一系列文件以支持音频流。在这种情况下,我是否需要手动获取和组装包,还是有更好的方法? 最佳答案 您可以跳过不需要的文件部分,只从那里阅读您需要的部分。GridFSDBFilefile=files.findOne("file");InputStreaminputStream=file.getInputStream();longactuallySkipped=inputStream.skip(numberO

axios / fetch 实现 stream 流式请求

axios是一个支持node端和浏览器端的易用、简洁且高效的http库。本文主要介绍axios如何实现stream流式请求,注意这里需要区分node环境和浏览器环境。一、node端代码演示:constaxios=require('axios');axios({method:'get',url:'http://tiven.cn/static/img/axios-stream-01-kcUzNdZO.jpg',responseType:'stream'}).then(response=>{response.data.on('data',(chunk)=>{//处理流数据的逻辑});response

node.js - 如何迭代 Model.stream waterline 查询的每条记录?

我需要做类似的事情:Lineup.stream({foo:"bar"}).exec(function(err,lineup){//Dosomethingwitheachrecord});阵容是一个包含超过18000条记录的集合,所以我认为使用find不是一个好的选择。执行此操作的正确方法是什么?从文档中我无法弄清楚如何去做。 最佳答案 .stream()方法返回nodestreaminterface(读取流)在读取数据时发出事件。您在这里的选择是.pipe()到其他可以接受“流”输入的东西,比如服务器的响应对象,或者附加一个even

mongodb - MongoDB GridFS 使用 Node.JS 保存文件的问题

我有一个将文件保存到gridfs的功能。重构后它以某种方式偶尔停止工作,我花了2个多小时茫然地盯着它看。我发誓它和以前差不多。我好像记得在我加close之前一开始没用,后来就开始用了,不过可能是失眠了。本质上,问题是db.fs.files集合没有任何记录,但正在将block添加到db.fs.chunks。data是通过fs.readFile()从磁盘加载的缓冲区31vargs=newmongodb.GridStore(this.db,filename,"w",{32"chunk_size":1024*4,33metadata:{34hashpath:gridfs_name,35hash

Ruby GridFS - 搜索文件名

在使用mongogem的ruby​​中,我找不到任何关于如何使用GridFs查找文件名的文档。 最佳答案 第一个getaconnectiontothedatabase,我们称之为db。然后你可以连接到你的GridFS作为Mongo::Grid或Mongo::GridFileSystem实例:fs=Mongo::Grid.new(db)fs=Mongo::GridFileSystem.new(db)现在您可以使用Mongo::GridExt::InstanceMethodsfs上的方法。特别是,您可以使用exist?:f=fs.exi

perl - MongoFiles、GridFS 和 Perl

我一直在使用perl、MongoDB和GridFS进行一些宠物开发,并且想知道-perl是否可以与Mongofiles交互(除了使用系统命令导航并以这种方式调用它,嘿)-比如。.well...cpan库?还是Mongo的当前CPAN模块的扩展?举个我想做的例子:我希望能够将文件存储到我的mongoDB中并将文件检索到我的mongoDB-例如,从命令行,一旦我导航到其中包含mongofiles的目录,我就可以执行mongofilesput"C:\Users\Me\cool.txt"它会将文件存储到数据库中!假设我从驱动器中删除了cool.txt。现在当我执行时:mongofilesget

node.js - 为什么我不能使用相关 mongo 文档中的 id 在 GridFS 上设置 id

我的应用程序使用Node0.10.1、express3.1.1、mongoose3.6.4、mongo2.4.1和gridfs-stream0.4.0。我已经使用共享连接设置了mongoose和gridfs-stream,如下所示:/*************app.js***************///Addedthisinedittoshowsetupofmongooseandgridfs-streamvarmongoose=require("mongoose");varGrid=require('gridfs-stream');Grid.mongo=mongoose.mongo