Загрузка файла метеора 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