Prechádzať zdrojové kódy

【fix】【APP内反馈】后端有限制上传附件的格式,APP需要同步修改Info提示信息 & 禁止用户上传其他格式

tangchao 7 mesiacov pred
rodič
commit
fb76923fea

+ 4 - 1
PDF Office/PDF Master/Class/Tools/UserFeekback/Controller/KMUserFbHelpPopController.swift

@@ -13,6 +13,8 @@ class KMUserFbHelpPopController: NSViewController {
     @IBOutlet weak var point2: NSView!
     @IBOutlet weak var tipLabel2: NSTextField!
     
+    var formatSting: String = ""
+    
     convenience init() {
         self.init(nibName: "KMUserFbHelpPopController", bundle: nil)
     }
@@ -27,7 +29,8 @@ class KMUserFbHelpPopController: NSViewController {
         }
         
         self.tipLabel1.stringValue = NSLocalizedString("限制文件大小20M,最高上传10份文件", comment: "")
-        self.tipLabel2.stringValue = NSLocalizedString("不限制文件格式(图片+PDF+Office(Excel/Word/Powerpoint)+TXT+HTML+MP4…)", comment: "")
+        // 不限制文件格式(图片+PDF+Office(Excel/Word/Powerpoint)+TXT+HTML+MP4…)
+        self.tipLabel2.stringValue = "\(NSLocalizedString("Format:", comment: ""))\(self.formatSting)"
     }
     
 }

+ 15 - 1
PDF Office/PDF Master/Class/Tools/UserFeekback/Window/KMUserFeekbackWindowController.swift

@@ -34,6 +34,9 @@ import Cocoa
     
     var typeString: String = ""
     
+    private var fileFormats_: [String] = ["jpg", "jpeg", "png", "gif", "bmp", "tiff", "tif", "psd", "svg", "pdf", "mp4", "mov", "avi", "mkv", "wmv", "flv", "mpg", "3gp", "doc", "docx", "xls" ,"xlsx", "ppt", "pptx", "txt", "rtf", "nfo"]
+    private var fileFormatsString = "jpg, jpeg, png, gif, bmp, tiff, tif, psd, svg, pdf, mp4, mov, avi, mkv, wmv, flv, mpg, 3gp, doc, docx, xls,xlsx, ppt, pptx, txt, rtf, nfo"
+    
     deinit {
         Swift.debugPrint("KMUserFeekbackWindowController deinit.")
     }
@@ -107,6 +110,8 @@ import Cocoa
                 
             } else if idx == 3 { // 新增文件
                 let panel = NSOpenPanel()
+//                panel.message = self?.fileFormatsString
+                panel.allowedFileTypes = self?.fileFormats_
                 panel.allowsMultipleSelection = true
                 panel.beginSheetModal(for: self!.window!) { resp in
                     if resp == .cancel {
@@ -149,7 +154,10 @@ import Cocoa
             for item in items {
                 let string = item.propertyList(forType: .fileURL) as? String ?? ""
                 if let path = URL(string: string)?.path {
-                    self?.filePaths_.append(path)
+                    let contains = self?._fileFormatIsContains(URL(string: string)!.pathExtension) ?? false
+                    if contains {
+                        self?.filePaths_.append(path)
+                    }
                 }
             }
             self?._updateListData()
@@ -273,6 +281,7 @@ import Cocoa
             return
         }
         let vc = KMUserFbHelpPopController()
+        vc.formatSting = self.fileFormatsString
         let popover = NSPopover()
         popover.contentViewController = vc
         popover.animates = true
@@ -481,6 +490,11 @@ import Cocoa
         return true
     }
     
+    private func _fileFormatIsContains(_ exn: String) -> Bool {
+        let _exn = exn.lowercased()
+        return self.fileFormats_.contains(_exn)
+    }
+    
 }
 
 extension KMUserFeekbackWindowController: NSPopoverDelegate {