parent
a8519bafb9
commit
5ba6e00b29
@ -1,35 +0,0 @@ |
|||||||
/* globals FileUploadBase, UploadFS, FileUpload:true */ |
|
||||||
FileUpload.GridFS = class FileUploadGridFS extends FileUploadBase { |
|
||||||
constructor(directive, meta, file) { |
|
||||||
super(meta, file); |
|
||||||
this.store = directive === 'avatar' ? Meteor.fileStoreAvatar : Meteor.fileStore; |
|
||||||
} |
|
||||||
|
|
||||||
start(callback) { |
|
||||||
this.handler = new UploadFS.Uploader({ |
|
||||||
store: this.store, |
|
||||||
data: this.file, |
|
||||||
file: this.meta, |
|
||||||
onError: (err) => { |
|
||||||
return callback(err); |
|
||||||
}, |
|
||||||
onComplete: (fileData) => { |
|
||||||
const file = _.pick(fileData, '_id', 'type', 'size', 'name', 'identify', 'description'); |
|
||||||
file.url = fileData.url.replace(Meteor.absoluteUrl(), '/'); |
|
||||||
return callback(null, file, 'gridfs'); |
|
||||||
} |
|
||||||
}); |
|
||||||
|
|
||||||
this.handler.onProgress = (file, progress) => { |
|
||||||
this.onProgress(progress); |
|
||||||
}; |
|
||||||
|
|
||||||
return this.handler.start(); |
|
||||||
} |
|
||||||
|
|
||||||
onProgress() {} |
|
||||||
|
|
||||||
stop() { |
|
||||||
return this.handler.stop(); |
|
||||||
} |
|
||||||
}; |
|
||||||
@ -1,10 +1,14 @@ |
|||||||
/* globals FileUpload, fileUploadHandler:true */ |
/* globals FileUploadBase, UploadFS, fileUploadHandler:true */ |
||||||
/* exported fileUploadHandler */ |
/* exported fileUploadHandler */ |
||||||
|
|
||||||
fileUploadHandler = (directive, meta, file) => { |
fileUploadHandler = (directive, meta, file) => { |
||||||
const storageType = RocketChat.settings.get('FileUpload_Storage_Type'); |
const storageType = RocketChat.settings.get('FileUpload_Storage_Type'); |
||||||
|
|
||||||
if (FileUpload[storageType] !== undefined) { |
const storeName = `${ storageType }:${ directive }`; |
||||||
return new FileUpload[storageType](directive, meta, file); |
|
||||||
|
const store = UploadFS.getStore(storeName); |
||||||
|
|
||||||
|
if (store) { |
||||||
|
return new FileUploadBase(store, meta, file); |
||||||
} |
} |
||||||
}; |
}; |
||||||
|
|||||||
Loading…
Reference in new issue