download offline images from libreoffice, fixes #3842

This commit is contained in:
zadam 2023-04-16 23:11:18 +02:00
parent e4376bb9f2
commit 8226f62ded
3 changed files with 20 additions and 2 deletions

1
package-lock.json generated
View File

@ -5,6 +5,7 @@
"requires": true,
"packages": {
"": {
"name": "trilium",
"version": "0.59.3",
"hasInstallScript": true,
"license": "AGPL-3.0-only",

View File

@ -1,7 +1,6 @@
import libraryLoader from "../services/library_loader.js";
import NoteContextAwareWidget from "./note_context_aware_widget.js";
import froca from "../services/froca.js";
import server from "../services/server.js";
const TPL = `<div class="mermaid-widget">
<style>

View File

@ -21,6 +21,7 @@ const dayjs = require("dayjs");
const htmlSanitizer = require("./html_sanitizer");
const ValidationError = require("../errors/validation_error");
const noteTypesService = require("./note_types");
const fs = require("fs");
function getNewNotePosition(parentNote) {
if (parentNote.isLabelTruthy('newNotesOnTop')) {
@ -375,7 +376,24 @@ const imageUrlToNoteIdMapping = {};
async function downloadImage(noteId, imageUrl) {
try {
const imageBuffer = await request.getImage(imageUrl);
let imageBuffer;
if (imageUrl.toLowerCase().startsWith("file://")) {
imageBuffer = await new Promise((res, rej) => {
const localFilePath = imageUrl.substr("file://".length);
return fs.readFile(localFilePath, (err, data) => {
if (err) {
rej(err);
} else {
res(data);
}
});
});
} else {
imageBuffer = await request.getImage(imageUrl);
}
const parsedUrl = url.parse(imageUrl);
const title = path.basename(parsedUrl.pathname);