diff --git a/app/src/protyle/render/av/action.ts b/app/src/protyle/render/av/action.ts index 733adfb66..ae2ecdc29 100644 --- a/app/src/protyle/render/av/action.ts +++ b/app/src/protyle/render/av/action.ts @@ -36,6 +36,7 @@ import {scrollCenter} from "../../../util/highlightById"; import {escapeHtml} from "../../../util/escape"; import {editGalleryItem, openGalleryItemMenu} from "./gallery/util"; import {clearSelect} from "../../util/clearSelect"; +import {removeCompressURL} from "../../../util/image"; export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLElement }) => { if (isOnlyMeta(event)) { @@ -70,7 +71,7 @@ export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLEle const imgElement = hasClosestByClassName(event.target, "av__cellassetimg"); if (imgElement) { previewAttrViewImages( - (imgElement as HTMLImageElement).src, + removeCompressURL((imgElement as HTMLImageElement).src), blockElement.getAttribute("data-av-id"), blockElement.getAttribute(Constants.CUSTOM_SY_AV_VIEW), (blockElement.querySelector('[data-type="av-search"]') as HTMLInputElement)?.value.trim() || "" diff --git a/app/src/protyle/render/av/asset.ts b/app/src/protyle/render/av/asset.ts index f8b116fdc..c836ae5ec 100644 --- a/app/src/protyle/render/av/asset.ts +++ b/app/src/protyle/render/av/asset.ts @@ -60,8 +60,8 @@ export const getAssetHTML = (cellElements: HTMLElement[]) => { genCellValueByElement("mAsset", cellElements[0]).mAsset.forEach((item, index) => { let contentHTML; if (item.type === "image") { - contentHTML = ` - + contentHTML = ` + `; } else { contentHTML = `${item.name || item.content}`; diff --git a/app/src/protyle/render/av/cell.ts b/app/src/protyle/render/av/cell.ts index 552306cef..687c0fffc 100644 --- a/app/src/protyle/render/av/cell.ts +++ b/app/src/protyle/render/av/cell.ts @@ -18,7 +18,7 @@ import {escapeAttr, escapeHtml} from "../../../util/escape"; import {electronUndo} from "../../undo"; import {getFieldIdByCellElement} from "./row"; import {getFieldsByData} from "./view"; -import {getCompressURL} from "../../../util/image"; +import {getCompressURL, removeCompressURL} from "../../../util/image"; const renderCellURL = (urlContent: string) => { let host = urlContent; @@ -131,7 +131,7 @@ export const genCellValueByElement = (colType: TAVCol, cellElement: HTMLElement) const isImg = item.classList.contains("av__cellassetimg"); mAsset.push({ type: isImg ? "image" : "file", - content: isImg ? item.getAttribute("src") : item.getAttribute("data-url"), + content: isImg ? removeCompressURL(item.getAttribute("src")) : item.getAttribute("data-url"), name: isImg ? "" : item.getAttribute("data-name") }); }); diff --git a/app/src/util/image.ts b/app/src/util/image.ts index c63615ea3..3fe7edbbf 100644 --- a/app/src/util/image.ts +++ b/app/src/util/image.ts @@ -4,3 +4,11 @@ export const getCompressURL = (url: string) => { return url + "?style=thumb"; } }; + +export const removeCompressURL = (url: string) => { + if (url.startsWith("assets/") && + (url.endsWith(".png?style=thumb") || url.endsWith(".jpg?style=thumb") || url.endsWith(".jpeg?style=thumb"))) { + return url.replace("?style=thumb", ""); + } + return url; +};