Multiple file upload fails with error on client
Opened this issue · 0 comments
nakiya commented
This is my collection definition:
Image = new FS.Collection("images", {
/* the file director: .meteor/local/uploads */
stores:[new FS.Store.FileSystem("images",{path:Meteor.settings.uploadRoot+"/uploads"})],
filter: {
allow: {
contentTypes: ['image/*', 'application/pdf'] //allow only images and pdf in this FS.Collection
}
}
});
if(Meteor.isServer){
Image.allow({
'insert': function () {
// add custom authentication code here
return true;
},
'update': function () {
return true;
},
'download':function(){
return true;
}
});
}
My change method:
'change #input-file': function(event, template) {
uploadedImageFiles = [];
FS.Utility.eachFile(event, function(file) {
console.log("inserting image file");
console.log(file);
Image.insert(file, function (err, fileObj) {
let id = fileObj._id;
// console.log("waiting for image with id = " + id);
let cursor = Image.find({_id: id});
// console.log("image obj");
//
// let image = Image.findOne({_id: id});
// console.log("Image");
// console.log(JSON.stringify(image));
let liveQuery = cursor.observe({
changed (newImage, oldImage){
if (newImage.url() !== null) {
liveQuery.stop();
console.log('Upload finished for ' + fileObj.name());
let imagePath = '/uploads/images-' + fileObj._id + '-' + fileObj.name();
let entry = {id: fileObj._id, name: fileObj.name(), path: imagePath};
uploadedImageFiles.push(entry);
}
}
});
});
});
},
During upload, I get this error in the browser console. Some files get uploaded, some don't.
Error: "Queue" network [undefined], Error
at cfs_upload-http.js:382
at cfs_upload-http.js:108
at underscore.js:794
at XMLHttpRequest.xhr.onreadystatechange (cfs_upload-http.js:167)
PowerQueue.runTaskDone @ cfs_power-queue.js:525
taskCallbackDone @ cfs_power-queue.js:607
(anonymous) @ cfs_upload-http.js:382
(anonymous) @ cfs_upload-http.js:108
(anonymous) @ underscore.js:794
xhr.onreadystatechange @ cfs_upload-http.js:167
XMLHttpRequest.send (async)
httpCall @ cfs_upload-http.js:237
gotBinaryCallback @ cfs_upload-http.js:373
reader.onload @ cfs_data-man.js:336
FileReader (async)
read @ cfs_data-man.js:341
(anonymous) @ cfs_data-man.js:363
dataManGetBlob @ cfs_data-man.js:289
dataManGetBinary @ cfs_data-man.js:344
_taskHandler @ cfs_upload-http.js:366
PowerQueue.runTask @ cfs_power-queue.js:606
PowerQueue.updateThrottleUp @ cfs_power-queue.js:412
PowerQueue.next @ cfs_power-queue.js:461
(anonymous) @ cfs_power-queue.js:575
withValue @ meteor.js:1077
(anonymous) @ meteor.js:464
(anonymous) @ meteor.js:1105
setTimeout (async)
setTimeout @ meteor.js:487
PowerQueue.runTaskDone @ cfs_power-queue.js:574
taskCallbackDone @ cfs_power-queue.js:607
(anonymous) @ cfs_upload-http.js:384
(anonymous) @ cfs_upload-http.js:108
(anonymous) @ underscore.js:794
xhr.onreadystatechange @ cfs_upload-http.js:231
XMLHttpRequest.send (async)
httpCall @ cfs_upload-http.js:237
gotBinaryCallback @ cfs_upload-http.js:373
reader.onload @ cfs_data-man.js:336
FileReader (async)
read @ cfs_data-man.js:341
(anonymous) @ cfs_data-man.js:363
dataManGetBlob @ cfs_data-man.js:289
dataManGetBinary @ cfs_data-man.js:344
_taskHandler @ cfs_upload-http.js:366
PowerQueue.runTask @ cfs_power-queue.js:606
PowerQueue.updateThrottleUp @ cfs_power-queue.js:412
PowerQueue.next @ cfs_power-queue.js:461
PowerQueue.run @ cfs_power-queue.js:750
PowerQueue.queueTaskHandler @ cfs_power-queue.js:638
PowerQueue.runTask @ cfs_power-queue.js:597
PowerQueue.updateThrottleUp @ cfs_power-queue.js:412
PowerQueue.next @ cfs_power-queue.js:461
(anonymous) @ cfs_power-queue.js:575
withValue @ meteor.js:1077
(anonymous) @ meteor.js:464
(anonymous) @ meteor.js:1105
setTimeout (async)
setTimeout @ meteor.js:487
PowerQueue.runTaskDone @ cfs_power-queue.js:574
subQueueCallbackDone @ cfs_power-queue.js:598
subQueue.onRelease @ cfs_power-queue.js:631
PowerQueue.next @ cfs_power-queue.js:474
(anonymous) @ cfs_power-queue.js:575
withValue @ meteor.js:1077
(anonymous) @ meteor.js:464
(anonymous) @ meteor.js:1105
setTimeout (async)
setTimeout @ meteor.js:487
PowerQueue.runTaskDone @ cfs_power-queue.js:574
taskCallbackDone @ cfs_power-queue.js:607
(anonymous) @ cfs_upload-http.js:384
(anonymous) @ cfs_upload-http.js:108
(anonymous) @ underscore.js:794
xhr.onreadystatechange @ cfs_upload-http.js:231
XMLHttpRequest.send (async)
httpCall @ cfs_upload-http.js:237
gotBinaryCallback @ cfs_upload-http.js:373
reader.onload @ cfs_data-man.js:336
FileReader (async)
read @ cfs_data-man.js:341
(anonymous) @ cfs_data-man.js:363
dataManGetBlob @ cfs_data-man.js:289
dataManGetBinary @ cfs_data-man.js:344
_taskHandler @ cfs_upload-http.js:366
PowerQueue.runTask @ cfs_power-queue.js:606
PowerQueue.updateThrottleUp @ cfs_power-queue.js:412
PowerQueue.next @ cfs_power-queue.js:461
(anonymous) @ cfs_power-queue.js:575
withValue @ meteor.js:1077
(anonymous) @ meteor.js:464
(anonymous) @ meteor.js:1105
setTimeout (async)
setTimeout @ meteor.js:487
PowerQueue.runTaskDone @ cfs_power-queue.js:574
taskCallbackDone @ cfs_power-queue.js:607
(anonymous) @ cfs_upload-http.js:384
(anonymous) @ cfs_upload-http.js:108
(anonymous) @ underscore.js:794
xhr.onreadystatechange @ cfs_upload-http.js:231
XMLHttpRequest.send (async)
httpCall @ cfs_upload-http.js:237
gotBinaryCallback @ cfs_upload-http.js:373
reader.onload @ cfs_data-man.js:336
FileReader (async)
read @ cfs_data-man.js:341
(anonymous) @ cfs_data-man.js:363
dataManGetBlob @ cfs_data-man.js:289
dataManGetBinary @ cfs_data-man.js:344
_taskHandler @ cfs_upload-http.js:366
PowerQueue.runTask @ cfs_power-queue.js:606
PowerQueue.updateThrottleUp @ cfs_power-queue.js:412
PowerQueue.next @ cfs_power-queue.js:461
(anonymous) @ cfs_power-queue.js:575
withValue @ meteor.js:1077
(anonymous) @ meteor.js:464
(anonymous) @ meteor.js:1105
setTimeout (async)
setTimeout @ meteor.js:487
PowerQueue.runTaskDone @ cfs_power-queue.js:574
taskCallbackDone @ cfs_power-queue.js:607
(anonymous) @ cfs_upload-http.js:384
(anonymous) @ cfs_upload-http.js:108
(anonymous) @ underscore.js:794
xhr.onreadystatechange @ cfs_upload-http.js:231
XMLHttpRequest.send (async)
httpCall @ cfs_upload-http.js:237
gotBinaryCallback @ cfs_upload-http.js:373
reader.onload @ cfs_data-man.js:336
FileReader (async)
read @ cfs_data-man.js:341
(anonymous) @ cfs_data-man.js:363
dataManGetBlob @ cfs_data-man.js:289
dataManGetBinary @ cfs_data-man.js:344
_taskHandler @ cfs_upload-http.js:366
PowerQueue.runTask @ cfs_power-queue.js:606
PowerQueue.updateThrottleUp @ cfs_power-queue.js:412
PowerQueue.next @ cfs_power-queue.js:461
PowerQueue.run @ cfs_power-queue.js:750
PowerQueue.queueTaskHandler @ cfs_power-queue.js:638
PowerQueue.runTask @ cfs_power-queue.js:597
PowerQueue.updateThrottleUp @ cfs_power-queue.js:412
PowerQueue.next @ cfs_power-queue.js:461
PowerQueue._autoStartTasks @ cfs_power-queue.js:366
PowerQueue.add @ cfs_power-queue.js:391
UploadTransferQueue.self.uploadFile @ cfs_upload-http.js:578
beginStorage @ cfs_collection.js:246
(anonymous) @ cfs_collection.js:282
(anonymous) @ mongo.js:720
(anonymous) @ meteor.js:1105
_maybeInvokeCallback @ ddp-client.js:3679
dataVisible @ ddp-client.js:3709
(anonymous) @ ddp-client.js:4560
_.each._.forEach @ underscore.js:149
_runAfterUpdateCallbacks @ ddp-client.js:4559
_performWrites @ ddp-client.js:4549
_flushBufferedWrites @ ddp-client.js:4512
_livedata_data @ ddp-client.js:4478
onMessage @ ddp-client.js:3526
(anonymous) @ ddp-client.js:2909
_.each._.forEach @ underscore.js:149
self.socket.onmessage @ ddp-client.js:2908
REventTarget.dispatchEvent @ ddp-client.js:143
SockJS._dispatchMessage @ ddp-client.js:1310
SockJS._didMessage @ ddp-client.js:1376
that.ws.onmessage @ ddp-client.js:1532