🐛 拖入文件名包含 ) 的文件以 file:// 插入后链接解析错误 Fix https://github.com/siyuan-note/siyuan/issues/5786

This commit is contained in:
Liang Ding 2022-09-02 22:27:24 +08:00
parent 4bf5f8de10
commit dfb47c00ff
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
2 changed files with 9 additions and 1 deletions

View file

@ -477,6 +477,9 @@ export const openBy = (url: string, type: "folder" | "app") => {
address = url.replace("file://", "");
}
if (type === "app") {
// 拖入文件名包含 `)` 的文件以 `file://` 插入后链接解析错误 https://github.com/siyuan-note/siyuan/issues/5786
address = address.replace(/\\\)/g, ")")
shell.openPath(address);
} else if (type === "folder") {
shell.showItemInFolder(address);

View file

@ -1,4 +1,4 @@
import {focusBlock, focusByWbr, focusByRange} from "./selection";
import {focusBlock, focusByRange, focusByWbr} from "./selection";
import {hasClosestBlock, hasClosestByAttribute, hasClosestByClassName} from "./hasClosest";
import {Constants} from "../../constants";
import {paste} from "./paste";
@ -719,6 +719,11 @@ export const dropEvent = (protyle: IProtyle, editorElement: HTMLElement) => {
files.forEach((item) => {
fileText += `[${path.basename(item)}](file://${item})\n`;
});
// 拖入文件名包含 `)` 的文件以 `file://` 插入后链接解析错误 https://github.com/siyuan-note/siyuan/issues/5786
fileText = fileText.replace(/\)/g, "\\)");
fileText = fileText.substring(0, fileText.length - 3) + ")"
insertHTML(protyle.lute.SpinBlockDOM(fileText), protyle);
} else {
uploadLocalFiles(files, protyle);