diff --git a/apps/web-antd/src/views/system/oss/constant.ts b/apps/web-antd/src/views/system/oss/constant.ts
new file mode 100644
index 00000000..9025cc09
--- /dev/null
+++ b/apps/web-antd/src/views/system/oss/constant.ts
@@ -0,0 +1,2 @@
+/** 支持的图片列表 */
+export const supportImageList = ['jpg', 'jpeg', 'png', 'gif', 'webp'];
diff --git a/apps/web-antd/src/views/system/oss/file-upload-modal.vue b/apps/web-antd/src/views/system/oss/file-upload-modal.vue
index dd144023..4914289e 100644
--- a/apps/web-antd/src/views/system/oss/file-upload-modal.vue
+++ b/apps/web-antd/src/views/system/oss/file-upload-modal.vue
@@ -31,7 +31,11 @@ const [BasicModal, modalApi] = useVbenModal({
title="文件上传"
>
-
+
diff --git a/apps/web-antd/src/views/system/oss/image-upload-modal.vue b/apps/web-antd/src/views/system/oss/image-upload-modal.vue
index 370d381c..44178372 100644
--- a/apps/web-antd/src/views/system/oss/image-upload-modal.vue
+++ b/apps/web-antd/src/views/system/oss/image-upload-modal.vue
@@ -31,7 +31,7 @@ const [BasicModal, modalApi] = useVbenModal({
title="图片上传"
>
-
+
diff --git a/apps/web-antd/src/views/system/oss/index.vue b/apps/web-antd/src/views/system/oss/index.vue
index 06b79a66..18cc20db 100644
--- a/apps/web-antd/src/views/system/oss/index.vue
+++ b/apps/web-antd/src/views/system/oss/index.vue
@@ -33,6 +33,7 @@ import { ossDownload, ossList, ossRemove } from '#/api/system/oss';
import { calculateFileSize } from '#/utils/file';
import { downloadByData } from '#/utils/file/download';
+import { supportImageList } from './constant';
import { columns, querySchema } from './data';
import fallbackImageBase64 from './fallback-image.txt?raw';
import fileUploadModal from './file-upload-modal.vue';
@@ -164,10 +165,32 @@ onMounted(async () => {
preview.value = previewStr === 'true';
});
+/**
+ * 根据拓展名判断是否是图片
+ * @param ext 拓展名
+ */
function isImageFile(ext: string) {
- const supportList = ['jpg', 'jpeg', 'png', 'gif', 'webp'];
- return supportList.some((item) => ext.toLocaleLowerCase().includes(item));
+ return supportImageList.some((item) =>
+ ext.toLocaleLowerCase().includes(item),
+ );
}
+
+/**
+ * 判断是否是pdf文件
+ * @param ext 扩展名
+ */
+function isPdfFile(ext: string) {
+ return ext.toLocaleLowerCase().includes('pdf');
+}
+
+/**
+ * pdf预览 使用浏览器接管
+ * @param url 文件地址
+ */
+function pdfPreview(url: string) {
+ window.open(url);
+}
+
const [ImageUploadModal, imageUploadApi] = useVbenModal({
connectedComponent: imageUploadModal,
});
@@ -231,6 +254,12 @@ const [FileUploadModal, fileUploadApi] = useVbenModal({
+
+
{{ row.url }}