整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          c#上傳文件附件時判斷word、excel、txt等

          c#上傳文件附件時判斷word、excel、txt等是否含有敏感詞

          C#中,如果你想在上傳文件附件時檢查Word、Excel、TXT等文檔是否包含敏感信息,如身份證號、手機號等,你需要進行以下步驟:

          1. 讀取文件內容:對于不同的文件格式,你需要使用不同的庫來讀取內容。例如,對于Word文檔,你可以使用Microsoft.Office.Interop.Word或Aspose.Words庫;對于Excel,可以使用Microsoft.Office.Interop.Excel或EPPlus、ClosedXML等庫;對于TXT文件,直接使用文件流讀取即可。
          2. 正則表達式匹配:使用正則表達式來匹配身份證號、手機號等敏感信息。這些正則表達式需要根據你的具體需求來定制。
          3. 掃描文件內容:遍歷讀取到的文件內容,使用正則表達式進行匹配,查找可能的敏感信息。
          4. 處理結果:如果發現敏感信息,你可以根據需要采取相應的措施,如阻止文件上傳、通知用戶、記錄日志等。

          下面是一個簡化的示例代碼,展示了如何使用C#讀取一個TXT文件并檢查是否包含身份證號或手機號:

          csharpusing System;
          using System.IO;
          using System.Text.RegularExpressions;
          
          public class SensitiveInfoChecker
          {
              // 正則表達式,用于匹配身份證號(這里只是一個簡化的例子)
              private static readonly Regex idCardRegex=new Regex(@"^\d{17}[\dXx]$");
          
              // 正則表達式,用于匹配手機號(簡化版,實際中可能更復雜)
              private static readonly Regex phoneRegex=new Regex(@"^\d{11}$");
          
              // 檢查文件是否包含敏感信息
              public static bool CheckFileForSensitiveInfo(string filePath)
              {
                  try
                  {
                      string fileContent=File.ReadAllText(filePath);
          
                      // 檢查身份證號
                      if (idCardRegex.IsMatch(fileContent))
                      {
                          Console.WriteLine("文件包含身份證號!");
                          return true;
                      }
          
                      // 檢查手機號
                      if (phoneRegex.IsMatch(fileContent))
                      {
                          Console.WriteLine("文件包含手機號!");
                          return true;
                      }
          
                      return false;
                  }
                  catch (Exception ex)
                  {
                      Console.WriteLine("讀取文件時出錯: " + ex.Message);
                      return false;
                  }
              }
          }
          
          // 使用示例
          class Program
          {
              static void Main()
              {
                  string filePath=@"C:\path\to\your\file.txt";
                  bool containsSensitiveInfo=SensitiveInfoChecker.CheckFileForSensitiveInfo(filePath);
          
                  if (containsSensitiveInfo)
                  {
                      Console.WriteLine("文件包含敏感信息,請檢查!");
                  }
                  else
                  {
                      Console.WriteLine("文件未包含敏感信息。");
                  }
              }
          }
          

          請注意,這個例子僅適用于TXT文件,并且正則表達式非常基礎。對于Word和Excel文件,你需要使用相應的庫來讀取內容,并可能需要更復雜的正則表達式來準確匹配身份證號或手機號。

          此外,對于更復雜的場景,你可能還需要考慮文件編碼問題、文件內容格式問題(如HTML、富文本等),以及可能的性能問題(如果文件非常大)。在這些情況下,你可能需要更高級的文本處理技術或使用專門的文本解析庫。

          TML5實現大文件分片上傳思路,利用HTML5分片上傳超大文件思路,WEBUPLOADER 支持 超大上G,多附件上傳,JS 大文件分割/分片上傳,百度WEBUPLOADER上傳視頻等大文件,WEBUPLOAD組件實現文件上傳功能和下載功能,JS大文件切片上傳,斷點續傳實現DEMO,前端上傳大文件的解決方案,前端上傳大文件處理(切片、斷點續傳),前端大文件上傳優化方案——分片上傳,vue大文件上傳解決方案,vue大文件上傳解決方案10G,vue大文件上傳解決方案50G,vue大文件上傳解決方案100G,html5如何實現大文件斷點續傳、秒傳,

          java如何實現大文件斷點續傳、秒傳,SpringBoot如何實現大文件斷點續傳、秒傳,SpringMVC如何實現大文件斷點續傳、秒傳,SpringCloud如何實現大文件斷點續傳、秒傳,

          webuploader如何實現大文件斷點續傳、秒傳,百度webuploader如何實現大文件斷點續傳、秒傳,html5實現大文件斷點續傳、秒傳,vue如何實現大文件斷點續傳、秒傳,前端如何實現大文件斷點續傳、秒傳,JavaScript如何實現大文件斷點續傳、秒傳,

          html5大文件斷點續傳、秒傳解決方案,html5大文件斷點續傳、加密上傳解決方案,html5大文件斷點續傳、加密存儲解決方案,html5大文件斷點續傳分片解決方案,html5大文件斷點續傳分塊解決方案,html5大文件斷點續傳分割解決方案,html5大文件斷點續傳切割解決方案,

          在網上找過相關的資料,論壇里面也有網友交流過,但是都不太令人滿意。

          給政府做的一個項目。實際上客戶那邊對具體的技術實際不關心。

          研發部門的同事調研過百度的webuploader這個組件,發現他實際上就是對Flash和HTML5進行了一個封裝,本質還是調的HTML5的API,之前在項目中也用過,嘗試過,但是最終都不太滿意,一個是兼容性非常差,說的是兼容IE,但是在IE用的是Flash,在很多用戶的電腦上用不了,卡頓崩潰發生的太頻繁,文件上傳的數量一多比如幾千個,前端頁面就開始卡了,用戶體驗非常差。這些問題研發部的同事都向百度反應過,但是百度webuploader那邊一直沒人回,基本上沒人管,領導說要求付費提供技術支持,那邊也是沒人回,聯系不上他們任何人。

          webuploader這邊連個開發人員都聯系不到,這個是怎么回事?

          搞的我們領導現在基本上不怎么考慮國內這些免費開源的項目,研發部門的同事稱這些項目為免費坑人項目。

          用戶上傳的文件比較大,有20G左右,直接用HTML傳的話容易失敗,服務器也容易出錯,需要分片,分塊,分割上傳。也就是將一個大的文件分成若干個小文件塊來上傳,另外就是需要實現秒傳功能和防重復功能,秒傳就是用戶如果上傳過這個文件,那么直接在數據庫中查找記錄就行了,不用再上傳一次,節省時間,實現的思路是對文件做MD5計算,將MD5值保存到數據庫,算法可以用MD5,或者CRC,或者SHA1,這個隨便哪個算法都行。

          分片還需要支持斷點續傳,現在HTML5雖然提供了信息記錄功能,但是只支持到了會話級,也就是用戶不能關閉瀏覽器,也不能清空緩存。但是有的政府單位上傳大文件,傳了一半下班了,明天繼續傳,電腦一關結果進度信息就丟失了,這個是他們的一個痛點。

          切片的話還有一點就是在服務器上合并,一個文件的所有分片數據上傳完后需要在服務器端進行合并操作。

          聊下HTML5吧,怎么說呢,HTML5也就是chrome提供的一個API來實現文件分片,反正基本的需求,小文件用是能用,但是用起來多多少少還是有點別扭,擴展性,安全性,穩定性用戶那陣都不太滿意,關鍵是什么,我們是沒辦法對HTML5進行擴展,個性化和定制化開發的,基本上被谷歌給限制死了,這也是現在國產化的意義,希望能夠打破這個限制。不然公司的一些產品和業務不太好開展,總不能用戶提個需求,我們就說谷歌Chrome沒提供API,所我們就無法開發吧。這不是跟客戶扯呢。

          功能的話支持20G文件上傳和續傳,支持秒傳,支持文件夾上傳,支持在服務端保存文件夾層級結構,支持將文件夾層級結構信息保存到數據庫中,支持下載時能夠將文件夾層級結構下載下來,支持下載文件夾,下載文件夾支持斷點續傳,支持VUE2,VUE3,React,支持IE,Chrome和信創國產化環境,比如銀河麒麟,統信UOS,龍芯,支持加密傳輸,包括加密上傳,加密下載,加密算法支持國密SM4,支持云對象存儲,比如華為云,阿里云,騰訊云,七牛云,AWS,MinIO,FastDFS,需要提供手機,QQ,微信,郵箱等聯系方式,提供7*24小時技術支持,提供長期技術支持和維護服務,提供遠程1對1技術指導,提供二次開發指導,提供文檔教程,提供視頻教程。1.下載示例

          https://gitee.com/xproer/up6-vue-cli



          將up6組件復制到項目中

          示例中已經包含此目錄



          1.引入up6組件



          2.配置接口地址

          接口地址分別對應:文件初始化,文件數據上傳,文件進度,文件上傳完畢,文件刪除,文件夾初始化,文件夾刪除,文件列表

          參考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de



          3.處理事件



          啟動測試



          啟動成功



          效果



          數據庫



          源碼工程文檔:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra

          源碼報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl

          OEM版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a

          控件源碼下載:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc

          譯自: https://changelog.complete.org/archives/9865-emacs-2-introducing-org-mode

          作者: John Goerzen

          譯者: Yuqi Liu

          在我 Emacs 系列中的 第一篇文章 里,我介紹了我在用了幾十年的 vim 后轉向了 Emacs,org 模式就是我為什么這樣做的原因。

          org 模式的精簡和高效真的震驚了我,它真的是個“殺手”應用。

          所以,org 模式到底是什么呢?

          這是我昨天寫的:

          它是一個組織信息的平臺,它的主頁上這樣寫著:“一切都是純文本:org 模式用于記筆記、維護待辦事項列表、計劃項目和使用快速有效的純文本系統編寫文檔。”

          這是事實,但并不是很準確。org 模式是一個你用來組織事務的小工具。它有一些非常合理的默認設置,但也允許你自己定制。

          主要突出在這幾件事上:

          • 維護待辦事項列表:項目可以分散在 org 文件中,包含附件,有標簽、截止日期、時間表。有一個方便的“日程”視圖,顯示需要做什么。項目也可以重復。
          • 編寫文檔:org 模式有個特殊的功能來生成 HTML、LaTeX、幻燈片(用 LaTeX beamer)和其他所有的格式。它也支持直接在緩沖區中運行和以 Emacs 所支持的的語言進行 文學編程(literate programming)。如果你想要深入了解這項功能的話,參閱 這篇文學式 DevOps 的文章 。而 整個 Worg 網站 是用 org 模式開發的。
          • 記筆記:對,它也能做筆記。通過全文搜索,文件的交叉引用(類似 wiki),UUID,甚至可以與其他的系統進行交互(通過 Message-ID 與 mu4e 交互,通過 ERC 的日志等等……)。

          入門

          我強烈建議去閱讀 Carsten Dominik 關于 org 模式的一篇很棒的 Google 講話 。那篇文章真的很贊。

          在 Emacs 中帶有 org 模式,但如果你想要個比較新的版本的話,Debian 用戶可以使用命令 apt-get install org-mode 來更新,或者使用 Emacs 的包管理系統命令 M-x package-install RET org-mode RET。

          現在,你可能需要閱讀一下 org 模式的精簡版教程中的 導讀部分 ,特別注意,你要設置下 啟動部分 中提到的那些鍵的綁定。

          一份好的教程

          我會給出一些好的教程和介紹的鏈接,但這篇文章不會是一篇教程。特別是在本文末尾,有兩個很不錯的視頻鏈接。

          我的一些配置

          我將在這里記錄下一些我的配置并介紹它的作用。你沒有必要每行每句將它拷貝到你的配置中 —— 這只是一個參考,告訴你哪些可以配置,要怎么在手冊中查找,或許只是一個“我現在該怎么做”的參考。

          首先,我將 Emacs 的編碼默認設置為 UTF-8。

          (prefer-coding-system 'utf-8)

          (set-language-environment "UTF-8")

          org 模式中可以打開 URL。默認的,它會在 Firefox 中打開,但我喜歡用 Chromium。

          (setq browse-url-browser-function 'browse-url-chromium)

          我把基本的鍵的綁定和設為教程里的一樣,再加上 M-RET 的操作的配置。

          (global-set-key "\C-cl" 'org-store-link)

          (global-set-key "\C-ca" 'org-agenda)

          (global-set-key "\C-cc" 'org-capture)

          (global-set-key "\C-cb" 'org-iswitchb)

          (setq org-M-RET-may-split-line nil)

          捕獲配置

          我可以在 Emacs 的任何模式中按 C-c c,按下后它就會 幫我捕獲某些事 ,其中包括一個指向我正在處理事務的鏈接。

          你可以通過定義 捕獲模板 來配置它。我將保存兩個日志文件,作為會議、電話等的通用記錄。一個是私人用的,一個是辦公用的。如果我按下 C-c c j,它就會幫我捕獲為私人項. 下面包含 %a 的配置是表示我當前的位置(或是我使用 C-c l 保存的鏈接)的鏈接。

          (setq org-default-notes-file "~/org/tasks.org")

          (setq org-capture-templates

          '(

          ("t" "Todo" entry (file+headline "inbox.org" "Tasks")

          "* TODO %?\n %i\n %u\n %a")

          ("n" "Note/Data" entry (file+headline "inbox.org" "Notes/Data")

          "* %? \n %i\n %u\n %a")

          ("j" "Journal" entry (file+datetree "~/org/journal.org")

          "* %?\nEntered on %U\n %i\n %a")

          ("J" "Work-Journal" entry (file+datetree "~/org/wjournal.org")

          "* %?\nEntered on %U\n %i\n %a")

          ))

          (setq org-irc-link-to-logs t)

          我喜歡通過 UUID 來建立鏈接,這讓我在文件之間移動而不會破壞位置。當我要 org 存儲一個鏈接目標以便將來插入時,以下配置有助于生成 UUID。

          (require 'org-id)

          (setq org-id-link-to-org-use-id 'create-if-interactive)

          議程配置

          我喜歡將星期天作為一周的開始,當我將某件事標記為完成時,我也喜歡記下時間。

          (setq org-log-done 'time)

          (setq org-agenda-start-on-weekday 0)

          文件歸檔配置

          在這我將配置它,讓它知道在議程中該使用哪些文件,而且在純文本的搜索中添加一點點小功能。我喜歡保留一個通用的文件夾(我可以從其中移動或“重新歸檔”內容),然后將個人和工作項的任務、日志和知識庫分開。

          (setq org-agenda-files (list "~/org/inbox.org"

          "~/org/email.org"

          "~/org/tasks.org"

          "~/org/wtasks.org"

          "~/org/journal.org"

          "~/org/wjournal.org"

          "~/org/kb.org"

          "~/org/wkb.org"

          ))

          (setq org-agenda-text-search-extra-files

          (list "~/org/someday.org"

          "~/org/config.org"

          ))

          (setq org-refile-targets '((nil :maxlevel . 2)

          (org-agenda-files :maxlevel . 2)

          ("~/org/someday.org" :maxlevel . 2)

          ("~/org/templates.org" :maxlevel . 2)

          )

          )

          (setq org-outline-path-complete-in-steps nil) ; Refile in a single go

          (setq org-refile-use-outline-path 'file)

          外觀配置

          我喜歡一個較漂亮的的屏幕。在你開始習慣 org 模式之后,你可以試試這個。

          (add-hook 'org-mode-hook

          (lambda ()

          (org-bullets-mode t)))

          (setq org-ellipsis "?")

          下一篇

          希望這篇文章展示了 org 模式的一些功能。接下來,我將介紹如何定制 TODO 關鍵字和標記、歸檔舊任務、將電子郵件轉發到 org 模式,以及如何使用 git 在不同電腦之間進行同步。

          你也可以查看 本系列的所有文章列表 。


          via: https://changelog.complete.org/archives/9865-emacs-2-introducing-org-mode

          作者: John Goerzen 選題: lujun9972 譯者: oneforalone 校對: wxy

          本文由 LCTT 原創編譯, Linux中國 榮譽推出

          點擊“了解更多”可訪問文內鏈接


          主站蜘蛛池模板: 亚洲AV日韩精品一区二区三区| 综合久久一区二区三区| 国产精品美女一区二区三区| 国产SUV精品一区二区88L| 中文字幕在线一区二区在线| 亚洲第一区在线观看| 精品无码综合一区二区三区| 国99精品无码一区二区三区| 丰满人妻一区二区三区免费视频| 日本一区二区三区爆乳| 久久91精品国产一区二区| 色妞AV永久一区二区国产AV | 国产MD视频一区二区三区| 精品人妻一区二区三区浪潮在线| 久久久久成人精品一区二区| 国产免费一区二区三区不卡| 国产精品亚洲高清一区二区| 精品日韩在线视频一区二区三区| 一区二区三区内射美女毛片| 日韩精品一区二区三区毛片| 无码喷水一区二区浪潮AV| 美女视频一区三区网站在线观看| 奇米精品视频一区二区三区| 中文字幕一区二区三区免费视频| 在线精品动漫一区二区无广告| 国产vr一区二区在线观看| 久久精品人妻一区二区三区| 国产乱码伦精品一区二区三区麻豆| 国产AⅤ精品一区二区三区久久| 国产成人高清精品一区二区三区| 精品视频一区二区三区| 中文字幕精品一区二区精品| 福利一区二区三区视频在线观看 | 国产成人一区二区三区在线| 国产一区二区三区在线2021| 久久久久成人精品一区二区| 日本一区二区视频| 精品久久久中文字幕一区| av在线亚洲欧洲日产一区二区| 亚洲一区爱区精品无码| 日韩毛片基地一区二区三区|