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 */ |
||||
|
||||
fileUploadHandler = (directive, meta, file) => { |
||||
const storageType = RocketChat.settings.get('FileUpload_Storage_Type'); |
||||
|
||||
if (FileUpload[storageType] !== undefined) { |
||||
return new FileUpload[storageType](directive, meta, file); |
||||
const storeName = `${ storageType }:${ directive }`; |
||||
|
||||
const store = UploadFS.getStore(storeName); |
||||
|
||||
if (store) { |
||||
return new FileUploadBase(store, meta, file); |
||||
} |
||||
}; |
||||
|
||||
Loading…
Reference in new issue