From f0c7f4845fb40bb75b2c9eb61a790e9b8ea7401a Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期三, 27 八月 2025 11:25:43 +0800
Subject: [PATCH] 'feat上传附件及预览文件'

---
 src/views/system/component/pdfPreview.vue |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/src/views/system/component/pdfPreview.vue b/src/views/system/component/pdfPreview.vue
index 54cdfa1..8681f05 100644
--- a/src/views/system/component/pdfPreview.vue
+++ b/src/views/system/component/pdfPreview.vue
@@ -6,7 +6,6 @@
   >
     <iframe
       id="printIframe"
-      :src="pdfSrc"
       frameborder="0"
       style="width: 100%; height: 100%"
       @load="iframeLoaded"
@@ -16,10 +15,14 @@
 
 <script setup lang="ts">
 import { ref, defineProps } from "vue";
-defineProps({
-  pdfSrc: {
-    type: String,
-    default: ""
+const props = defineProps({
+  // fileInfo: {
+  //   type: String,
+  //   default: ""
+  // }
+  fileInfo: {
+    type: Object,
+    required: true
   }
 });
 let isLoading = ref(true);
@@ -28,6 +31,31 @@
 
   isLoading.value = false;
 };
+console.log(props.fileInfo, "props.fileInfo");
+
+const pdfUrl = props.fileInfo.filePath;
+// 鐢╢etch鑾峰彇鏂囦欢娴侊紝寮哄埗杞负棰勮鏍煎紡
+fetch(pdfUrl)
+  .then(response => {
+    // 妫�鏌ュ搷搴旀槸鍚︽垚鍔�
+    if (!response.ok) throw new Error("鏂囦欢鑾峰彇澶辫触");
+    // 寮哄埗鑾峰彇Blob瀵硅薄锛堟寚瀹歅DF绫诲瀷锛�
+    return response.blob();
+  })
+  .then(blob => {
+    // 鐢熸垚涓存椂棰勮URL锛堟祻瑙堝櫒鏈湴涓存椂閾炬帴锛屾棤涓嬭浇瑙﹀彂锛�
+    const blobUrl = URL.createObjectURL(
+      new Blob([blob], { type: "application/pdf" }) // 鏄庣‘鎸囧畾PDF绫诲瀷
+    );
+    // 璧嬪�肩粰iframe骞舵樉绀�
+    const iframe = document.getElementById("printIframe");
+    iframe.src = blobUrl;
+    iframe.style.display = "block";
+    document.getElementById("loading").style.display = "none";
+  })
+  .catch(error => {
+    // document.getElementById("loading").innerText = `鍔犺浇澶辫触锛�${error.message}`;
+  });
 </script>
 <style>
 .pdf-container {

--
Gitblit v1.9.1