From 9de2927304e9c5e6e902e7fbd6bd40c149dcaff8 Mon Sep 17 00:00:00 2001 From: zadam Date: Wed, 10 Jul 2019 23:01:30 +0200 Subject: [PATCH] image import/export related fixes --- src/routes/api/sender.js | 6 ++++-- src/services/export/tar.js | 4 ++-- src/services/image.js | 3 +-- src/services/import/single.js | 4 +--- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/routes/api/sender.js b/src/routes/api/sender.js index 81a61b245..e6e7d6e0f 100644 --- a/src/routes/api/sender.js +++ b/src/routes/api/sender.js @@ -1,9 +1,9 @@ "use strict"; +const imageType = require('image-type'); const imageService = require('../../services/image'); const utils = require('../../services/utils'); const dateNoteService = require('../../services/date_notes'); -const sql = require('../../services/sql'); const noteService = require('../../services/notes'); const passwordEncryptionService = require('../../services/password_encryption'); const optionService = require('../../services/options'); @@ -36,9 +36,11 @@ async function uploadImage(req) { return [400, "Unknown image type: " + file.mimetype]; } + const originalName = "Sender image." + imageType(file.buffer).ext; + const parentNote = await dateNoteService.getDateNote(req.headers['x-local-date']); - const {noteId} = await imageService.saveImage(file.buffer, "Sender image", parentNote.noteId, true); + const {noteId} = await imageService.saveImage(file.buffer, originalName, parentNote.noteId, true); return { noteId: noteId diff --git a/src/services/export/tar.js b/src/services/export/tar.js index f4ae65bc3..6a1c3b874 100644 --- a/src/services/export/tar.js +++ b/src/services/export/tar.js @@ -32,11 +32,11 @@ async function exportToTar(exportContext, branch, format, res) { do { index = existingFileNames[lcFileName]++; - newName = lcFileName + "_" + index; + newName = index + "_" + lcFileName; } while (newName in existingFileNames); - return fileName + "_" + index; + return index + "_" + fileName; } else { existingFileNames[lcFileName] = 1; diff --git a/src/services/image.js b/src/services/image.js index 9712a3873..8523c0fde 100644 --- a/src/services/image.js +++ b/src/services/image.js @@ -26,8 +26,7 @@ async function saveImage(buffer, originalName, parentNoteId, shrinkImageSwitch) const parentNote = await repository.getNote(parentNoteId); - const fileNameWithoutExtension = originalName.replace(/\.[^/.]+$/, ""); - const fileName = sanitizeFilename(fileNameWithoutExtension + "." + imageFormat.ext); + const fileName = sanitizeFilename(originalName); const {note} = await noteService.createNote(parentNoteId, fileName, finalImageBuffer, { target: 'into', diff --git a/src/services/import/single.js b/src/services/import/single.js index 37ba50b4f..9587d82bb 100644 --- a/src/services/import/single.js +++ b/src/services/import/single.js @@ -75,8 +75,6 @@ function getMime(fileName) { const ext = path.extname(fileName).toLowerCase(); if (ext in EXTENSION_TO_MIME) { - console.log(EXTENSION_TO_MIME[ext]); - return EXTENSION_TO_MIME[ext]; } @@ -108,7 +106,7 @@ async function importSingleFile(importContext, file, parentNote) { } async function importImage(file, parentNote, importContext) { - const {note} = await imageService.saveImage(file.buffer, getFileNameWithoutExtension(file.originalname), parentNote.noteId, importContext.shrinkImages); + const {note} = await imageService.saveImage(file.buffer, file.originalname, parentNote.noteId, importContext.shrinkImages); importContext.increaseProgressCount();