直到最近,此代码按预期工作,媒体文件可以上传,保存到Mongo,然后使用他们的商店进行检索。
在系统的例行测试期间,我注意到这已停止工作,我们在本地和生产中尝试上传媒体时都会出现Access denied [403]
错误。
我的所有研究都表明设置插入/更新/下载是真的可行。要在下面的代码中进行调试,所有内容都设置为true,我仍然会收到此403
任何指导都会非常感激。
Media = new FS.Collection("media", {
stores: [
mediaStoreGrid,
mediaStoreGridThumbnail,
mediaStoreGridOptions,
mediaStoreGridLightbox,
mediaStoreGridLogo
]
});
Media.allow({
insert: function(userId, project) {
return true;
},
update: function(userId,project,fields,modifier) {
return false;
},
remove: function(userId,project) {
return true;
},
download: function() {
return true;
}
});
// We just care about the first file
var files = $('.descriptive-image').get(0).files;
if (files.length > 0) {
var media = Media.insert(files[0]);
Meteor.subscribe('mediaItem', media._id);
return [media._id];
} else {
return [];
}
答案 0 :(得分:1)
FS.Collection insert将FS.File作为参数,而不是原始文件输入对象。试试这个:
var mediaFile = new FS.File(files[0]);
var media = Media.insert(mediaFile);