图片上传Ember JS和Sails JS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片上传Ember JS和Sails JS相关的知识,希望对你有一定的参考价值。

我正在尝试将图像从前端“Ember JS”上传到“Sails JS”,

我创建了一个名为“upload”的API,并使用“skipper”和“gridfs”在Mongo数据库中上传图像。

我也使用“kitematic”虚拟服务器奇怪的是我的代码工作,直到它到达

req.file('file').upload({
  adapter : require('skipper-gridfs'),
  uri : 'mongodb://192.168.99.100:32769/admin/upload'
})

出于某种原因,我得到了

Sending 500 ('server error') response:
{ err : 'connection to [192.168.99:27017] timed out' }

我在Ember中使用'ember-file-upload',这是我的前端

template.hbs

  {{#file-upload name="file"
            accept="image/*"
            multiple=true
            onfileadd=(action "uploadImage")}}
     <a id="upload-image" tabindex=0>Add an Image.</a>
  {{/file-upload}}

controller.js

 uploadImage(file) {
  console.log(file);
  file.upload('http://localhost:1338/uploads/file').then(response => {
    console.log(response);
    this.get('model.files').pushObject({ path : response.body.message });
  })
}

现在Sails js上传控制器

module.exports = { 
    file : function(req, res) {
        console.log(req.body);
        req.file('file').upload({
        adapter : require('skipper-gridfs'),
        uri : 'mongodb://192.168.99.100:32769/admin/upload'
        }, function(err, uploadedFiles) {
        if (err) return res.negotiate(err);
        console.log(err);
        return res.json({ message : uploadedFiles[0].fd.split('assets/')[1] })
        })
    }
};
答案

对于初学者,请查看您获得的错误:

Sending 500 ('server error') response:
{ err : 'connection to [192.168.99:27017] timed out' }

你有192.168.99:27017的连接,这与你设置的完全不同:

mongodb://192.168.99.100:32769/admin/upload

首先,我认为你的URI不对 - 这个/ admin / upload对我来说似乎不对。尝试/admin.upload,或者省略整个事情,例如:

mongodb://192.168.99.100:32769

还要确保无需用户名和密码即可连接到mongoDB。

如需参考,请查看以下网址:http://api.mongodb.com/java/current/com/mongodb/MongoClientURI.html

以上是关于图片上传Ember JS和Sails JS的主要内容,如果未能解决你的问题,请参考以下文章

在sails.js 中覆盖CRUD 蓝图

在 Sails.js 后端项目中访问上传的图像

如何使用 Sails.JS + GridFS 从 Mongo 检索图像文件?

如何为sails.js 编写模块

Sails.js 简单的私人消息传递(发布/订阅和模型)

Sails.js 表单帖子未提交任何数据