소스 검색

优化照片打印的上传 移除gif

“shengjie.huang” 1 년 전
부모
커밋
c7a4271a70
2개의 변경된 파일10개의 추가작업 그리고 5개의 파일을 삭제
  1. 1 1
      src/pages/index/index.vue
  2. 9 4
      src/pages/print/index.vue

+ 1 - 1
src/pages/index/index.vue

@@ -34,7 +34,7 @@
 
         <view class="guide-item bg-blue-light" @click="toPrint('image')">
           <view class="item-title">照片打印</view>
-          <view class="item-desc">支持jpg、png、gif、webp</view>
+          <view class="item-desc">支持jpg、png、webp</view>
           <view class="item-btn">去打印</view>
         </view>
       </view>

+ 9 - 4
src/pages/print/index.vue

@@ -518,7 +518,7 @@ function selectFile() {
       uni.chooseMessageFile({
         count: 10,
         type: 'file',
-        extension: allowType,
+        extension: allowType, // 根据文件拓展名过滤,仅 type==file 时有效。每一项都不能是空字符串。默认不过滤。
         success(res) {
           console.log('chooseMessageFile FILE res: ', res)
           if (res.errMsg === 'chooseMessageFile:ok') {
@@ -569,17 +569,18 @@ function selectFile() {
       })
       break
     case 'image':
+      const allowImgType = ['png', 'jpg', 'jpeg', 'webp']
       uni.chooseImage({
         count: 10,
         sourceType: ['album', 'camera'],
         sizeType: ['original', 'compressed'],
-        extension: ['png', 'jpg', 'jpeg', 'webp'],
+        extension: ['png', 'jpg', 'jpeg', 'webp'], // chooseImage接口 该字段仅用于H5环境
         success(res) {
           console.log('chooseImage res: ', res)
           if (res.errMsg === 'chooseImage:ok') {
             const failList = []
             ;(res.tempFiles as File[]).forEach((item: any, index) => {
-              if (item.size > maxSize) {
+              if (item.size > maxSize || !allowImgType.includes(getFileType(item.path))) {
                 failList.push(item)
               } else {
                 fileList.value.push({
@@ -591,7 +592,11 @@ function selectFile() {
               }
             })
             if (failList.length > 0)
-              toast.warning(`文件大小限制为10MB, 所选文件有 ${failList.length} 格式不符合`)
+              toast.warning(
+                `文件大小限制为10MB, 文件格式仅支持 ${allowImgType.join('、')}, 所选文件有 ${
+                  failList.length
+                } 格式不符合`,
+              )
           } else {
             toast.warning('选择相册图片异常, 请重试')
           }