我正在尝试使用风帆上传图片。我可以上传图像,但我想尝试将模型中的路径传递到数据库中,因此它是帖子的一部分,我可以在以后轻松调用它。
"invalidAttributes": {
"image": [
"rule": "string",
"message": "Value should be a string (instead of null, which is an object)"
"rule": "required",
"message": "\"required\" validation rule failed for input: null\nSpecifically, it threw an error. Details:\n undefined"
"model": "Post",
这是我的模特
image: {
type: 'string',
required: true
},
我的控制器
create: function (req, res, next) {
Post.create( req.params.all(), function postCreated(err, post) {
if (err) return next(err);
//image upload
req.file('image').upload({
dirname: '../../assets/images/'
}, function(error, uploadedFiles) {
// do something after file was uploaded...
});
// end upload
res.redirect('/post/show/' + post.id);
});
},
答案 0 :(得分:0)
我没有正确地回答你的问题。您想使用create在一次调用中上传图像吗?如果是的话,那就不可能在帆中。 像下面的东西。
req.file(file).upload(
{
adapter: skipperS3Alt,
key : sails.config.s3Key,
secret : sails.config.s3Secret,
bucket : sails.config.s3Bucket
}, function (err, files){
return whenDone(err, files);
});
}, function doneUploading(err, files){
if (err){
// error
} else if (files[0][0] && allowedTypes.indexOf(files[0][0].fd.split('.').pop()) === -1){
// matching file type
}
Model.create({
addressProof : files[0][0] ? sails.config.s3AmazonUrl + files[0][0].fd : ''
}).then(function (document){
// Do something
})