使用 collection fs 进行简单图片上传
Simple image uploading with collection fs
我已经安装了 collection fs 包来处理我的图片上传,但到目前为止,我还没有成功上传一张图片。
我的活动中有这个代码
'change .ip': function(event, template) {
FS.Utility.eachFile(event, function(file) {
var yourFile = new FS.File(file);
SchoolImages.insert(yourFile, function (err, fileObj) {
if (err){
// handle error
alert('error');
} else {
// handle success depending what you need to d
alert('success');
}
});
});
}
这是我的html
<input type="file" class="ip form-control" name="sn_edit" value="">
这是我的 collection 代码
SchoolImages = new FS.Collection("SchoolImages", {
stores: [new FS.Store.FileSystem("SchoolImages", {path: "~/meteor_uploads"})]
});
if (Meteor.isServer) {
SchoolImages.allow({
insert: function (userId, doc) {
return false;
},
update: function (userId, doc, fieldNames, modifier) {
return false;
},
remove: function (userId, doc) {
return false;
}
});
SchoolImages.deny({
insert: function (userId, doc) {
return true;
},
update: function (userId, doc, fieldNames, modifier) {
return true;
},
remove: function (userId, doc) {
return true;
}
});
}
当我尝试上传图片时,没有上传任何图片,也没有创建 collection。我的代码出错 alert('error')
- 请参阅上面的代码。
我应该如何修改我的代码才能成功上传图片?
您不必在 Meteor.isServer 中允许内部数据库操作。可以直接写collections代码如下
SchoolImages = new FS.Collection("SchoolImages", {
stores: [new FS.Store.FileSystem("SchoolImages", {path: "~/meteor_uploads"})]
});
SchoolImages.allow({
insert: function (userId, doc) {
return true;
},
update: function (userId, doc, fieldNames, modifier) {
return true;
},
remove: function (userId, doc) {
return true;
}
});
一般来说,当您在不同的文件夹中构建项目时,我建议将这段代码写在 lib 文件夹中。
我已经安装了 collection fs 包来处理我的图片上传,但到目前为止,我还没有成功上传一张图片。
我的活动中有这个代码
'change .ip': function(event, template) {
FS.Utility.eachFile(event, function(file) {
var yourFile = new FS.File(file);
SchoolImages.insert(yourFile, function (err, fileObj) {
if (err){
// handle error
alert('error');
} else {
// handle success depending what you need to d
alert('success');
}
});
});
}
这是我的html
<input type="file" class="ip form-control" name="sn_edit" value="">
这是我的 collection 代码
SchoolImages = new FS.Collection("SchoolImages", {
stores: [new FS.Store.FileSystem("SchoolImages", {path: "~/meteor_uploads"})]
});
if (Meteor.isServer) {
SchoolImages.allow({
insert: function (userId, doc) {
return false;
},
update: function (userId, doc, fieldNames, modifier) {
return false;
},
remove: function (userId, doc) {
return false;
}
});
SchoolImages.deny({
insert: function (userId, doc) {
return true;
},
update: function (userId, doc, fieldNames, modifier) {
return true;
},
remove: function (userId, doc) {
return true;
}
});
}
当我尝试上传图片时,没有上传任何图片,也没有创建 collection。我的代码出错 alert('error')
- 请参阅上面的代码。
我应该如何修改我的代码才能成功上传图片?
您不必在 Meteor.isServer 中允许内部数据库操作。可以直接写collections代码如下
SchoolImages = new FS.Collection("SchoolImages", {
stores: [new FS.Store.FileSystem("SchoolImages", {path: "~/meteor_uploads"})]
});
SchoolImages.allow({
insert: function (userId, doc) {
return true;
},
update: function (userId, doc, fieldNames, modifier) {
return true;
},
remove: function (userId, doc) {
return true;
}
});
一般来说,当您在不同的文件夹中构建项目时,我建议将这段代码写在 lib 文件夹中。