diff --git a/models/attachments.js b/models/attachments.js index 0f46d3568..22e3c979f 100644 --- a/models/attachments.js +++ b/models/attachments.js @@ -34,12 +34,13 @@ Attachments = new FilesCollection({ return ret; }, onAfterUpload(fileObj) { + let storage = fileObj.meta.copyStorage || STORAGE_NAME_GRIDFS; // current storage is the filesystem, update object and database Object.keys(fileObj.versions).forEach(versionName => { fileObj.versions[versionName].storage = STORAGE_NAME_FILESYSTEM; }); Attachments.update({ _id: fileObj._id }, { $set: { "versions" : fileObj.versions } }); - moveToStorage(fileObj, STORAGE_NAME_GRIDFS, fileStoreStrategyFactory); + moveToStorage(fileObj, storage, fileStoreStrategyFactory); }, interceptDownload(http, fileObj, versionName) { const ret = fileStoreStrategyFactory.getFileStrategy(fileObj, versionName).interceptDownload(http, this.cacheControl); diff --git a/models/lib/fileStoreStrategy.js b/models/lib/fileStoreStrategy.js index e184b2fdf..5d43ae3dd 100644 --- a/models/lib/fileStoreStrategy.js +++ b/models/lib/fileStoreStrategy.js @@ -369,6 +369,7 @@ export const copyFile = function(fileObj, newCardId, fileStoreStrategyFactory) { swimlaneId: fileObj.meta.swimlaneId, source: 'copy', copyFrom: fileObj._id, + copyStorage: strategyRead.getStorageName(), }, userId: fileObj.userId, size: fileObj.fileSize,