图片上传 Ember JS 和 Sails JS
Image Upload Ember JS and 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。
作为参考检查此 URL:http://api.mongodb.com/java/current/com/mongodb/MongoClientURI.html
我正在尝试将图像从前端 "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。
作为参考检查此 URL:http://api.mongodb.com/java/current/com/mongodb/MongoClientURI.html