При загрузке изображения я получаю сообщение об ошибке ниже на консоли сервера.
I20200123-18:57:34.751(5.5)? Exception while invoking method 'collections.images.insert' TypeError: Cannot read property 'insert' of undefined
I20200123-18:57:34.753(5.5)? at MethodInvocation.collections.images.insert (imports/api/collections/methods.js:20:31)
I20200123-18:57:34.753(5.5)? at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1771:12)
I20200123-18:57:34.753(5.5)? at DDP._CurrentMethodInvocation.withValue (packages/ddp-server/livedata_server.js:719:19)
I20200123-18:57:34.754(5.5)? at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
I20200123-18:57:34.754(5.5)? at DDPServer._CurrentWriteFence.withValue (packages/ddp-server/livedata_server.js:717:46)
I20200123-18:57:34.754(5.5)? at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
I20200123-18:57:34.754(5.5)? at Promise (packages/ddp-server/livedata_server.js:715:46)
I20200123-18:57:34.755(5.5)? at new Promise (<anonymous>)
I20200123-18:57:34.755(5.5)? at Session.method (packages/ddp-server/livedata_server.js:689:23)
I20200123-18:57:34.755(5.5)? at packages/ddp-server/livedata_server.js:559:43
Здесь я предоставляю свои фрагменты кода для вашей ссылки.
Код сервера конструктора коллекции:
import { FilesCollection } from 'meteor/ostrio:files';
const Collections_Images = new FilesCollection({
collectionName: 'collections_images',
storagePath: 'uploads/Collections-Images',
allowClientCode: false,
onBeforeUpload(file) {
// Allow upload files under 10MB, and only in png/jpg/jpeg formats
if (file.size <= 10485760 && /png|jpg|jpeg/i.test(file.extension)) {
return true;
}
return 'Please upload image, with size equal or less than 10MB';
}
});
export default Collections_Images;
Созданный метод Код:
import { Meteor } from 'meteor/meteor';
import { Collections_Images } from './collections_img.js';
Meteor.methods({
'collections.images.insert'(images) {
return Collections_Images.insert({
file : images,
streams: 'dynamic',
chunkSize: 'dynamic',
})
},
});
Клиентская сторона js код:
"change #myFileInput" : function(event){
const images = event.currentTarget.files[0];
Meteor.call('collections.images.insert',images, (error) => {
if(error){
alert("collection image insert : "+error.message);
}
else{
images=null;
}
});
}
Заранее спасибо.