FS.Collection投掷403禁止错误

时间:2015-10-14 22:29:26

标签: meteor

直到最近,此代码按预期工作,媒体文件可以上传,保存到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 [];
}

1 个答案:

答案 0 :(得分:1)

FS.Collection insert将FS.File作为参数,而不是原始文件输入对象。试试这个:

var mediaFile = new FS.File(files[0]);
var media = Media.insert(mediaFile);