Загрузка файла метеора S3 не работает на коде сервера, я использую cfs:s3

Я добавил три пакета

cfs:standard-packages
cfs:filesystem
cfs:s3

ошибка:

TypeError: Cannot read property 'keys' of undefined

s3.js

var avatarStoreLarge = new FS.Store.S3("temp", {
    region: "eu-west-1", //optional in most cases
    accessKeyId: "XXX", //required if environment variables are not set
    secretAccessKey: "XX", //required if environment variables are not set
    bucket: "temp", //required
    ACL:'public-read-write'
});
var filestore = new FS.Collection("temp", {
    stores: [avatarStoreLarge]
});

client.js

var avatarStoreLarge = new FS.Store.S3("temp")
var filestore = new FS.Collection("temp", {
    stores: [avatarStoreLarge]
})
filestore.allow({
    insert: function () {
        return true;
    },
    update: function () {
        return true;
    },
    remove: function () {
        return true;
    },
    download: function(){
        return true;
    }
});
filestore.deny({
 insert: function(){
   return false;
 },
 update: function(){
   return false;
 },
 remove: function(){
   return false;
 },
 download: function(){
   return false;
}    
 });

сервер JS

        var fsFile = new FS.File(fileContent);
        fsFile.metadata = {owner: Meteor.user()._id};
        filestore.insert(fsFile});

из-за этой ошибки выдается ошибка TypeError: Невозможно прочитать свойство keys как неопределенное

но если я перенесу код сервера в client.js, он загрузит файл на S3. в чем проблема с Upload на S3 из кода сервера.

Можете ли вы помочь мне решить эту ошибку. как мы можем выйти из этой ошибки, что не так с моим кодом или конфигом.

TypeError: Cannot read property 'keys' of undefined

2 ответа

Здравствуйте, попробуйте добавить ваше разрешение "разрешить" правило на стороне сервера https://github.com/CollectionFS/Meteor-CollectionFS

filestore.allow({
    insert: function () {
        return true;
    },
    update: function () {
        return true;
    },
    remove: function () {
        return true;
    },
    download: function(){
        return true;
    }
});

Возможно ли, что это синтаксическая ошибка?

Вам не хватает " в конце этой строки: bucket: "temp, //required

Другие вопросы по тегам