mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-05-04 13:29:13 -04:00
fix: update downloadbase64
This commit is contained in:
parent
f07466f814
commit
58f280cee0
2 changed files with 30 additions and 15 deletions
|
@ -1,11 +1,13 @@
|
||||||
import { extension as getExtensionFromMimeType, extension as getMimeTypeFromExtension } from 'mime-types';
|
import { extension as getExtensionFromMimeType, extension as getMimeTypeFromExtension } from 'mime-types';
|
||||||
import type { Ref } from 'vue';
|
import type { MaybeRef } from 'vue';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
|
import { get } from '@vueuse/core';
|
||||||
|
|
||||||
export {
|
export {
|
||||||
getMimeTypeFromBase64,
|
getMimeTypeFromBase64,
|
||||||
getMimeTypeFromExtension, getExtensionFromMimeType,
|
getMimeTypeFromExtension, getExtensionFromMimeType,
|
||||||
useDownloadFileFromBase64, useDownloadFileFromBase64Refs,
|
useDownloadFileFromBase64,
|
||||||
|
previewImageFromBase64,
|
||||||
};
|
};
|
||||||
|
|
||||||
const commonMimeTypesSignatures = {
|
const commonMimeTypesSignatures = {
|
||||||
|
@ -74,21 +76,34 @@ function downloadFromBase64({ sourceValue, filename, extension, fileMimeType }:
|
||||||
}
|
}
|
||||||
|
|
||||||
function useDownloadFileFromBase64(
|
function useDownloadFileFromBase64(
|
||||||
{ source, filename, extension, fileMimeType }:
|
{ source, filename, extension }:
|
||||||
{ source: Ref<string>; filename?: string; extension?: string; fileMimeType?: string }) {
|
{ source: MaybeRef<string>; filename?: MaybeRef<string>; extension?: MaybeRef<string> }) {
|
||||||
return {
|
return {
|
||||||
download() {
|
download() {
|
||||||
downloadFromBase64({ sourceValue: source.value, filename, extension, fileMimeType });
|
downloadFromBase64({ sourceValue: get(source), filename: get(filename), extension: get(extension) });
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function useDownloadFileFromBase64Refs(
|
function previewImageFromBase64(base64String: string): HTMLImageElement {
|
||||||
{ source, filename, extension }:
|
if (base64String === '') {
|
||||||
{ source: Ref<string>; filename?: Ref<string>; extension?: Ref<string> }) {
|
throw new Error('Base64 string is empty');
|
||||||
return {
|
}
|
||||||
download() {
|
|
||||||
downloadFromBase64({ sourceValue: source.value, filename: filename?.value, extension: extension?.value });
|
const img = document.createElement('img');
|
||||||
},
|
img.src = base64String;
|
||||||
};
|
|
||||||
|
const container = document.createElement('div');
|
||||||
|
container.appendChild(img);
|
||||||
|
|
||||||
|
const previewContainer = document.getElementById('previewContainer');
|
||||||
|
if (previewContainer) {
|
||||||
|
previewContainer.innerHTML = '';
|
||||||
|
previewContainer.appendChild(container);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new Error('Preview container element not found');
|
||||||
|
}
|
||||||
|
|
||||||
|
return img;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Base64 } from 'js-base64';
|
import { Base64 } from 'js-base64';
|
||||||
import createQPDFModule from 'qpdf-wasm-esm-embedded';
|
import createQPDFModule from 'qpdf-wasm-esm-embedded';
|
||||||
import { useDownloadFileFromBase64Refs } from '@/composable/downloadBase64';
|
import { useDownloadFileFromBase64 } from '@/composable/downloadBase64';
|
||||||
|
|
||||||
const status = ref<'idle' | 'done' | 'error' | 'processing'>('idle');
|
const status = ref<'idle' | 'done' | 'error' | 'processing'>('idle');
|
||||||
const file = ref<File | null>(null);
|
const file = ref<File | null>(null);
|
||||||
|
@ -10,7 +10,7 @@ const base64OutputPDF = ref('');
|
||||||
const fileName = ref('');
|
const fileName = ref('');
|
||||||
const logs = ref<string[]>([]);
|
const logs = ref<string[]>([]);
|
||||||
const fileExtension = ref('pdf');
|
const fileExtension = ref('pdf');
|
||||||
const { download } = useDownloadFileFromBase64Refs(
|
const { download } = useDownloadFileFromBase64(
|
||||||
{
|
{
|
||||||
source: base64OutputPDF,
|
source: base64OutputPDF,
|
||||||
filename: fileName,
|
filename: fileName,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue