diff --git a/package-lock.json b/package-lock.json index 62189df380..1b38bd830f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12896,24 +12896,24 @@ } }, "parse": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/parse/-/parse-3.4.2.tgz", - "integrity": "sha512-Ruehcp/S7eB3A0lDG5eAPvZHa5pABCbUR+lMJL2gUNKJLZNcD9/s3RL255PwI5jTqa+TCJ7MdPqobUplouN1pQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/parse/-/parse-3.4.3.tgz", + "integrity": "sha512-ZfpWQIaa+tui6Ra77jGmWeMOIeqKKAS60c1wRCQeeTOlZ7lOSeWZhoAsjkK3g9njnVXj6GL6Mgv9hl6GkCNR9A==", "requires": { - "@babel/runtime": "7.17.9", + "@babel/runtime": "7.18.0", "@babel/runtime-corejs3": "7.17.8", "crypto-js": "4.1.1", "idb-keyval": "6.0.3", "react-native-crypto-js": "1.0.0", "uuid": "3.4.0", - "ws": "7.5.1", + "ws": "8.6.0", "xmlhttprequest": "1.8.0" }, "dependencies": { "@babel/runtime": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", - "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.0.tgz", + "integrity": "sha512-YMQvx/6nKEaucl0MY56mwIG483xk8SDNdlUwb2Ts6FUpr7fm85DxEmsY18LXBNhcTz6tO6JwZV8w1W06v8UKeg==", "requires": { "regenerator-runtime": "^0.13.4" } @@ -12928,9 +12928,9 @@ } }, "core-js-pure": { - "version": "3.22.8", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.8.tgz", - "integrity": "sha512-bOxbZIy9S5n4OVH63XaLVXZ49QKicjowDx/UELyJ68vxfCRpYsbyh/WNZNfEfAk+ekA8vSjt+gCDpvh672bc3w==" + "version": "3.23.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.23.5.tgz", + "integrity": "sha512-8t78LdpKSuCq4pJYCYk8hl7XEkAX+BP16yRIwL3AanTksxuEf7CM83vRyctmiEL8NDZ3jpUcv56fk9/zG3aIuw==" }, "idb-keyval": { "version": "6.0.3", @@ -12946,9 +12946,9 @@ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" }, "ws": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.1.tgz", - "integrity": "sha512-2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow==" + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==" } } }, diff --git a/package.json b/package.json index 1cfd52b93a..b55b7b04dc 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "mime": "3.0.0", "mongodb": "4.6.0", "mustache": "4.2.0", - "parse": "3.4.2", + "parse": "3.4.3", "pg-monitor": "1.4.1", "pg-promise": "10.11.1", "pluralize": "8.0.0", diff --git a/src/Routers/FilesRouter.js b/src/Routers/FilesRouter.js index 2ea33987ba..6a6f7d5b33 100644 --- a/src/Routers/FilesRouter.js +++ b/src/Routers/FilesRouter.js @@ -136,15 +136,14 @@ export class FilesRouter { next(error); return; } - - const base64 = req.body.toString('base64'); - const file = new Parse.File(filename, { base64 }, contentType); - const { metadata = {}, tags = {} } = req.fileData || {}; - file.setTags(tags); - file.setMetadata(metadata); - const fileSize = Buffer.byteLength(req.body); - const fileObject = { file, fileSize }; try { + const {data} = req.body.toJSON(); + const file = new Parse.File(filename, data, contentType); + const { metadata = {}, tags = {} } = req.fileData || {}; + file.setTags(tags); + file.setMetadata(metadata); + const fileSize = Buffer.byteLength(req.body); + const fileObject = { file, fileSize }; // run beforeSaveFile trigger const triggerResult = await triggers.maybeRunFileTrigger( triggers.Types.beforeSave, @@ -208,7 +207,7 @@ export class FilesRouter { logger.error('Error creating a file: ', e); const error = triggers.resolveError(e, { code: Parse.Error.FILE_SAVE_ERROR, - message: `Could not store file: ${fileObject.file._name}.`, + message: `Could not store file: ${filename}.`, }); next(error); }