Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用Sails.js和skipper gridfs将图像上载到MongoDB_Node.js_Mongodb_Sails.js - Fatal编程技术网

Node.js 使用Sails.js和skipper gridfs将图像上载到MongoDB

Node.js 使用Sails.js和skipper gridfs将图像上载到MongoDB,node.js,mongodb,sails.js,Node.js,Mongodb,Sails.js,文档页面似乎无法在skipper gridfs github页面上工作,因此这里几乎没有关于所需内容的信息 在此代码中 req.file('avatar') .upload({ adapter: require('skipper-gridfs'), uri:'mongodb://jimmy@j1mtr0n1xx@mongo.jimmy.com:27017/coolapp.avatar_uploads' }, function whenDone(err, uploadedFiles) {

文档页面似乎无法在skipper gridfs github页面上工作,因此这里几乎没有关于所需内容的信息

在此代码中

req.file('avatar')
 .upload({
  adapter: require('skipper-gridfs'),
  uri:'mongodb://jimmy@j1mtr0n1xx@mongo.jimmy.com:27017/coolapp.avatar_uploads'
}, function whenDone(err, uploadedFiles) {
  if (err) return res.negotiate(err);
  else return res.ok({
    files: uploadedFiles,
    textParams: req.params.all()
  });
});

请求文件“化身”指的是什么?例如,我有一个从API下载图像的函数,我想把它保存到MongoDB GridFS。我只是不确定应该在什么时候传递它。

'avatar'指的是保存文件的表单字段名。例如:

<input type="file" name="avatar"/>

“头像”是您选择上载的文件的密钥。它位于表单数据类型的请求主体中

js gitter聊天室也是一个聊天和获取支持的好地方:如果我以编程方式发布,会怎么样?我正在发布到这个url,所以对于req.file,我选择使用标签。这是正确的用法吗?这不是正确的用法,因为文件没有在查询字符串中编码。该文件被编码到请求的正文中。我通过编程上传文件,我使用的库允许我指定字段名。您要查找的是请求正文中的字段名。我正在使用请求框架来帮助您完成这项工作。它从我指定的url获取我的图像,然后我通过管道将其发送并执行request.post到运行将图像保存到gridfs的rest url。这是那个片段。piperequest.post',response,body您仍然需要知道request.pipe创建的请求的表单字段名称。尝试检查映射到/uploadimg的控制器操作上的req.body。req.file不是express或request的一部分。我已经处理了该部分,但当我现在发布到它时,我看到了这一点。我也设置了无限超时。events.js:85投掷者;//未处理的“错误”事件^error:EMAXBUFFER:上游NOOP_标签在插入接收器之前超时。等待4500毫秒后,它仍然没有使用。您可以通过更改maxTimeToBuffer选项来配置此超时。我非常感谢skipper gridfs和mongodb数据库。我们可以用它们构建媒体服务器,而不是将文件保存在后端的文件系统中。因此,它易于扩展、备份和复制。因为文件保存为块,所以它还支持视频和音频流。