🖼️ fix: Clipboard Files & File Name Issues (#2015)

* fix: ensure image handling fetchs image to base64 for multiple images

* fix: append file_id's when writing uploaded files

* feat: timestamp files uploaded from clipboard

* chore: add a different fileid+name separator
This commit is contained in:
Danny Avila 2024-03-07 12:27:42 -05:00 committed by GitHub
parent 18edd2660b
commit 40e884b3ec
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 31 additions and 18 deletions

View file

@ -18,6 +18,7 @@ const { updateFile } = require('~/models/File');
* representing the user, and an `app.locals.paths` object with an `imageOutput` path.
* @param {Express.Multer.File} params.file - The file object, which is part of the request. The file object should
* have a `path` property that points to the location of the uploaded file.
* @param {string} params.file_id - The file ID.
* @param {EModelEndpoint} params.endpoint - The params object.
* @param {string} [params.resolution='high'] - Optional. The desired resolution for the image resizing. Default is 'high'.
*
@ -28,7 +29,7 @@ const { updateFile } = require('~/models/File');
* - width: The width of the converted image.
* - height: The height of the converted image.
*/
async function uploadLocalImage({ req, file, endpoint, resolution = 'high' }) {
async function uploadLocalImage({ req, file, file_id, endpoint, resolution = 'high' }) {
const inputFilePath = file.path;
const inputBuffer = await fs.promises.readFile(inputFilePath);
const {
@ -45,7 +46,8 @@ async function uploadLocalImage({ req, file, endpoint, resolution = 'high' }) {
fs.mkdirSync(userPath, { recursive: true });
}
const newPath = path.join(userPath, path.basename(inputFilePath));
const fileName = `${file_id}__${path.basename(inputFilePath)}`;
const newPath = path.join(userPath, fileName);
if (extension.toLowerCase() === '.webp') {
const bytes = Buffer.byteLength(resizedBuffer);