Feat: Support preview of HTML files #5096 (#5134)

### What problem does this PR solve?

Feat: Support preview of HTML files #5096
### Type of change


- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
balibabu
2025-02-19 16:28:48 +08:00
committed by GitHub
parent 38e551cc3d
commit 24efa86f26
3 changed files with 25 additions and 45 deletions

View File

@ -98,6 +98,24 @@ export const getBase64FromUploadFileList = async (fileList?: UploadFile[]) => {
return '';
};
async function fetchDocumentBlob(id: string, mimeType?: FileMimeType) {
const response = await fileManagerService.getDocumentFile({}, id);
const blob = new Blob([response.data], {
type: mimeType || response.data.type,
});
return blob;
}
export async function previewHtmlFile(id: string) {
const blob = await fetchDocumentBlob(id, FileMimeType.Html);
const url = URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.click();
URL.revokeObjectURL(url);
}
export const downloadFileFromBlob = (blob: Blob, name?: string) => {
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
@ -116,8 +134,7 @@ export const downloadDocument = async ({
id: string;
filename?: string;
}) => {
const response = await fileManagerService.getDocumentFile({}, id);
const blob = new Blob([response.data], { type: response.data.type });
const blob = await fetchDocumentBlob(id);
downloadFileFromBlob(blob, filename);
};