fix: update downloadbase64
This commit is contained in:
		
							parent
							
								
									f07466f814
								
							
						
					
					
						commit
						58f280cee0
					
				| @ -1,11 +1,13 @@ | ||||
| import { extension as getExtensionFromMimeType, extension as getMimeTypeFromExtension } from 'mime-types'; | ||||
| import type { Ref } from 'vue'; | ||||
| import type { MaybeRef } from 'vue'; | ||||
| import _ from 'lodash'; | ||||
| import { get } from '@vueuse/core'; | ||||
| 
 | ||||
| export { | ||||
|   getMimeTypeFromBase64, | ||||
|   getMimeTypeFromExtension, getExtensionFromMimeType, | ||||
|   useDownloadFileFromBase64, useDownloadFileFromBase64Refs, | ||||
|   useDownloadFileFromBase64, | ||||
|   previewImageFromBase64, | ||||
| }; | ||||
| 
 | ||||
| const commonMimeTypesSignatures = { | ||||
| @ -74,21 +76,34 @@ function downloadFromBase64({ sourceValue, filename, extension, fileMimeType }: | ||||
| } | ||||
| 
 | ||||
| function useDownloadFileFromBase64( | ||||
|   { source, filename, extension, fileMimeType }: | ||||
|   { source: Ref<string>; filename?: string; extension?: string; fileMimeType?: string }) { | ||||
|   { source, filename, extension }: | ||||
|   { source: MaybeRef<string>; filename?: MaybeRef<string>; extension?: MaybeRef<string> }) { | ||||
|   return { | ||||
|     download() { | ||||
|       downloadFromBase64({ sourceValue: source.value, filename, extension, fileMimeType }); | ||||
|       downloadFromBase64({ sourceValue: get(source), filename: get(filename), extension: get(extension) }); | ||||
|     }, | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
| function useDownloadFileFromBase64Refs( | ||||
|   { source, filename, extension }: | ||||
|   { source: Ref<string>; filename?: Ref<string>; extension?: Ref<string> }) { | ||||
|   return { | ||||
|     download() { | ||||
|       downloadFromBase64({ sourceValue: source.value, filename: filename?.value, extension: extension?.value }); | ||||
|     }, | ||||
|   }; | ||||
| function previewImageFromBase64(base64String: string): HTMLImageElement { | ||||
|   if (base64String === '') { | ||||
|     throw new Error('Base64 string is empty'); | ||||
|   } | ||||
| 
 | ||||
|   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"> | ||||
| import { Base64 } from 'js-base64'; | ||||
| 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 file = ref<File | null>(null); | ||||
| @ -10,7 +10,7 @@ const base64OutputPDF = ref(''); | ||||
| const fileName = ref(''); | ||||
| const logs = ref<string[]>([]); | ||||
| const fileExtension = ref('pdf'); | ||||
| const { download } = useDownloadFileFromBase64Refs( | ||||
| const { download } = useDownloadFileFromBase64( | ||||
|   { | ||||
|     source: base64OutputPDF, | ||||
|     filename: fileName, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user