亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

從零開始編寫自己的C#框架(23)——上傳組件使用說明

2019-11-17 01:37:58
字體:
來源:轉載
供稿:網友

從零開始編寫自己的C#框架(23)——上傳組件使用說明

  文章導航


  1、前言

  2、上傳組件功能說明

  3、數據庫結構

  4、上傳配置管理

  5、上傳組件所使用到的類

  6、上傳組件調用方法

  7、效果演示

  8、小結


  1、前言

  本系列所使用的是上傳組件是大神July開發的,他為人比較低調,一直都沒有寫博。為了感謝他將這么好的插件開源出來,在這里簡單的為他宣傳一下。在我的圈子當中,他是一位非常牛的人,前端方面非常精通,沒有解決不了的兼容性問題,而后端開發又精通多種開發語言(php、C#、VB、java等),經手開發過的大中小型項目過百。承接各種外包開發,想聯系他的話可以加入Q群327360708找July。

  2、上傳組件功能說明

  本上傳組件已將上傳相關的功能都封裝好了,在使用的時候,只需要使用簡單的幾行代碼,就可以實現圖片文件檢驗、上傳權限驗證、上傳路徑相關文件夾創建、文件上傳、按配置生成各種規格(縮放)圖片和進行壓縮、加水印、關聯數據表、自動刪除舊文件與數據表記錄、修改配置后所有圖片文件重新生成等功能。

  支持asp.net控件、html控件、編輯器(又分為本地上傳與遠程上傳兩種)與swf(這種控件上傳方式沒有用過,目前還不太清楚怎么調用,等有空再請教July大神)等方式上傳。

  3、數據庫結構

  本上傳組件需要創建三個數據表

  上傳類型表用于設置可以上傳的文件類型

  

  上傳配置表,它的用途大家看看字段說明就知道了,而我們主要將它用在上傳圖片的處理上,比如上傳一張圖片要生成那些格式(大、中、小與推薦圖),圖片規格是什么(寬、高與質量),用不用加水印,按什么比例生成等,在這里配置后馬上生效,上傳生成的圖片規格跟著改變。

  

  上傳文件管理表記錄當前系統中,所有通過本上傳組件上傳到服務器中的文件信息,方便管理員進行管理操作,比如前端UI重新設計后,某些頁面圖片規格改變了,正常情況下需 要設計師手動或使用某些軟件將這些圖片全部重新修改,這樣處理工作量大且容易出錯,而本組件則可以通過在上傳配置中重新設置不同大小的圖片生成規格,然后點擊全部圖片重新生成按鈕后,程序就會在本管理表中將指定類型與配置的所有圖片按新配置,使用原來的文件名稱逐個重新生成出來。

  

  4、上傳配置管理

  1)進入后端管理系統,系統管理=》基礎設置=》上傳類型設置

  在這里添加與管理各種允許上傳的文件類型,見下圖

  

  

  2)系統管理=》基礎設置=》上傳配置管理

  在這里設置上傳的各種規則,所有需要調用到上傳組件的地方,都需要這里進行配置。創建好以后獲取對應的Id值,在開發的代碼中綁定記錄,具體怎么使用后面會講到

  上傳配置列表

  

  上傳配置編輯頁面

  

  廣告內容管理頁面,我們上傳了一個廣告圖片

  

  這是上傳成功后,在上傳文件夾中對應生成的圖片,大家可以試試修改生成規格后重新上傳,或點擊“已上傳文件管理”頁面中的,看看圖片變化

  

  3)系統管理=》基礎設置=》已上傳文件管理

  在這里顯示所有通過本上傳組件上傳到服務器的所有記錄,可以將直接將一些不要的文件刪除,也可以點擊“圖片全部重新生成”按鈕生成圖片。

  

  5、上傳組件所使用到的類

  上傳組件所用的的類存放路徑與說明(原版雖然分層,但沒這么多文件,使用SQLHelper來執行數據庫更新,被我改得好像很復雜的樣子,呵呵...看起來是不是有點高大上,很難理解兼很復雜的樣子+_+...)

項目文件夾路徑文件名說明
DotNet.UtilitiesFileDirFileHelper.cs文件夾與文件操作類,主要用于文件夾創建、上傳文件添加、刪除,以及其他相關的文件操作函數
DotNet.UtilitiesUploaderUploader.cs上傳類,文件上傳、檢查、生成、水印等各種操作
Solution.DataaccessSubSonic

UploadConfig.cs

UploadFile.cs

UploadType.cs

......

模板生成的上傳組件數據表相關實體類,以及其他數據層操作類
Solution.Logic.ManagersapplicationUploadFileBll.cs上傳邏輯類,主要用于權限檢查、上傳文件的相關判斷處理、增改刪上傳組件相關的數據庫信息、關聯相關數據表等功能
Solution.Logic.ManagersSubSonic

UploadConfigBll.cs

UploadFileBll.cs

UploadTypeBll.cs

T4模板生成的幾個上傳表對應的邏輯類文件,主要給第4點那些后端管理頁面所使用
Solution.Web.ManagersApplicationFileUpload.ashxUI層編輯器調用的上傳接口
Solution.Web.ManagersApplicationRemoteUpload.ashxUI層編輯器使用遠程上傳接口(在編輯器上粘貼有圖片時,將圖片下載到服務器上,實現遠程上傳)

  6、上傳組件調用方法

  代碼中有三種調用上傳的方法,一種是ASP.NET控件,一種是html控件,還有是遠程上傳(即傳入遠程圖片Url自動下載更新)

  ASP.NET控件上傳調用方法

 1 //這個放在cs文件Page_Load函數的前面,用于生成一個隨一個Key,以便上傳完成后已上傳文件管理表綁定對應Id 2 PRotected string RndKey = RandomHelper.GetRndKey(); 3  4                 #region 上傳圖片 5                 //判斷前端的ASP.NET上傳控件是否選擇有上傳文件 6                 if (this.filePhoto.HasFile && this.filePhoto.FileName.Length > 3) 7                 { 8                     //將當前頁面上傳文件綁定上傳配置表Id為7的記錄,給上傳組件的邏輯層函數調用 9                     int vid = 7; //7    廣告10                     //---------------------------------------------------11                     //創建上傳實體12                     var upload = new UploadFile();13                     //調用ASP.NET上傳控件上傳函數,并獲取上傳成功或失敗信息14                     result = new UploadFileBll().Upload_AspNet(this.filePhoto.PostedFile, vid, RndKey,15                         OnlineUsersBll.GetInstence().GetManagerId(), OnlineUsersBll.GetInstence().GetManagerCName(),16                         upload);17                     this.filePhoto.Dispose();18                     //---------------------------------------------------19                     //沒有返回信息時表示上傳成功20                     if (result.Length == 0) 21                     {22                         //將上傳到服務器后的路徑賦給廣告實體對應字段23                         model.AdImg = upload.Path;24                     }25                     else26                     {27                         //將出錯寫入日志中28                         CommonBll.WriteLog("上傳出錯:" + result); //收集異常信息29                         //彈出出錯提示30                         return "上傳出錯!" + result;31                     }32                 }33                 //如果是修改,檢查用戶是否重新上傳過廣告圖片,如果是刪除舊的圖片34                 if (model.Id > 0)35                 {36                     //刪除舊圖片37                     UploadFileBll.GetInstence()38                         .Upload_DiffFile(AdvertisementTable.Id, AdvertisementTable.AdImg, AdvertisementTable.TableName,39                             model.Id, model.AdImg);40 41                     //同步UploadFile上傳表記錄,綁定剛剛上傳成功的文件Id為當前記錄Id42                     UploadFileBll.GetInstence().Upload_UpdateRs(RndKey, AdvertisementTable.TableName, model.Id);43                 }44 45                 #endregion

  上面代碼功能大家請看注釋說明,在調用時直接復制上面代碼然后修改vid的值、頁面上傳控件名稱(filePhoto改為你自己設置的名稱)、當前數據表名稱(AdvertisementTable,這個一般在替換的時候已經改好了)和存放上傳文件路徑字段(AdImg改為當前數據表對應字段名稱)就可以了。

  html控件上傳方法

 1                 #region 上傳圖片 2                 //將當前頁面上傳文件綁定上傳配置表Id為7的記錄,給上傳組件的邏輯層函數調用 3                 int vid = 7; //7    廣告 4                 //--------------------------------------------------- 5                 //創建上傳實體 6                 var upload = new UploadFile(); 7                 //調用ASP.NET上傳控件上傳函數,并獲取上傳成功或失敗信息 8                 result = new UploadFileBll().Upload_Web(vid, RndKey, 9                     OnlineUsersBll.GetInstence().GetManagerId(), OnlineUsersBll.GetInstence().GetManagerCName(),10                     upload, "Html上傳控件名稱");11                 this.filePhoto.Dispose();12                 //---------------------------------------------------13                 //沒有返回信息時表示上傳成功14                 if (result.Length == 0)15                 {16                     //將上傳到服務器后的路徑賦給廣告實體對應字段17                     model.AdImg = upload.Path;18                 }19                 else20                 {21                     //將出錯寫入日志中22                     CommonBll.WriteLog("上傳出錯:" + result); //收集異常信息23                     //彈出出錯提示24                     return "上傳出錯!" + result;25                 }26                 27                 //如果是修改,檢查用戶是否重新上傳過廣告圖片,如果是刪除舊的圖片28                 if (model.Id > 0)29                 {30                     //刪除舊圖片31                     UploadFileBll.GetInstence()32                         .Upload_DiffFile(AdvertisementTable.Id, AdvertisementTable.AdImg, AdvertisementTable.TableName,33                             model.Id, model.AdImg);34 35                     //同步UploadFile上傳表記錄,綁定剛剛上傳成功的文件Id為當前記錄Id36                     UploadFileB
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91免费的视频在线播放| 欧美亚洲一区在线| 欧美猛男性生活免费| 九色精品美女在线| 欧美成在线观看| 久热精品在线视频| 国内精品久久久久久中文字幕| 色播久久人人爽人人爽人人片视av| 国产精品三级久久久久久电影| 国产日本欧美视频| 国产国产精品人在线视| 亚洲精品久久在线| 日韩在线不卡视频| 午夜精品久久久久久99热软件| 欧美一级视频在线观看| 在线播放日韩av| 成人免费在线视频网址| 少妇高潮 亚洲精品| 日韩在线免费视频观看| 日韩在线视频中文字幕| 国产一区二区久久精品| 国产精品久久久久高潮| 久久精品久久久久久国产 免费| 国产一区二区三区中文| 精品一区精品二区| 红桃av永久久久| 欧美在线观看日本一区| 久久久噜噜噜久噜久久| 国产成人精品电影| 91精品久久久久久久久中文字幕| 韩日精品中文字幕| 粉嫩av一区二区三区免费野| 日韩中文字幕不卡视频| 欧美精品电影免费在线观看| 欧美激情国产日韩精品一区18| 欧美福利小视频| 黑人精品xxx一区| 亚洲系列中文字幕| 国产精品久久久久久久久久久久| 亚洲日本成人网| 精品国产依人香蕉在线精品| 国产欧美日韩免费看aⅴ视频| 性欧美亚洲xxxx乳在线观看| 欧美日韩国产丝袜另类| 日韩一区二区久久久| 98视频在线噜噜噜国产| 欧美成人第一页| 久久久久久12| xxav国产精品美女主播| 26uuu亚洲国产精品| 国产在线拍偷自揄拍精品| 美乳少妇欧美精品| 欧美巨乳美女视频| 精品国产乱码久久久久久天美| 国产成人97精品免费看片| 日韩欧美一区二区三区久久| 国产成人精品av在线| 911国产网站尤物在线观看| 精品福利在线看| 97视频在线看| 97在线精品国自产拍中文| 亚洲人成免费电影| 日韩视频一区在线| 国产亚洲精品91在线| 欧美麻豆久久久久久中文| 伊人久久久久久久久久久久久| 深夜福利国产精品| 久久久久亚洲精品成人网小说| 国产精品三级在线| 成人在线小视频| 国产精品爽爽爽爽爽爽在线观看| 国产精品美女主播| 亚洲国产精品99久久| 欧美美女18p| 欧美色播在线播放| 久久精品色欧美aⅴ一区二区| 国产91色在线| 亚洲自拍在线观看| 正在播放国产一区| 日韩精品亚洲元码| 欧美大全免费观看电视剧大泉洋| 欧美电影免费观看大全| 日韩精品在线电影| 国产欧美一区二区三区在线看| 在线性视频日韩欧美| 久久久久国产精品免费网站| 欧美性色19p| 精品国产一区二区三区久久久狼| 色播久久人人爽人人爽人人片视av| 亚洲欧洲日产国码av系列天堂| 欧美裸体xxxx| 欧美一乱一性一交一视频| 成人欧美在线观看| 亚洲美女精品久久| 国模叶桐国产精品一区| www日韩中文字幕在线看| 成人免费直播live| 岛国av午夜精品| 国产精品一区av| 亚洲精品在线91| 精品国产91乱高清在线观看| 国产精品一区二区在线| 欧美日韩中文字幕日韩欧美| 一区二区三区动漫| 九九热精品视频| 国产美女久久精品| 亚洲视频在线观看网站| 色一情一乱一区二区| 日韩有码在线视频| 欧美激情按摩在线| 亚洲成人免费在线视频| 97视频在线观看亚洲| 日韩成人在线视频观看| 国产99视频精品免视看7| 夜夜嗨av色一区二区不卡| 亚洲天堂av女优| 亚洲天堂av高清| 国产午夜精品美女视频明星a级| 久热99视频在线观看| 在线看日韩欧美| 亚洲精品中文字幕女同| 国产suv精品一区二区| 亚洲自拍在线观看| 精品亚洲va在线va天堂资源站| 亚洲福利视频在线| 欧美性猛交xxxx乱大交蜜桃| 精品成人乱色一区二区| 成人在线视频网站| 久久久久久久爱| 岛国视频午夜一区免费在线观看| 国产精品国产福利国产秒拍| 欧美国产在线视频| 色综合男人天堂| 精品国产欧美成人夜夜嗨| 久久久人成影片一区二区三区观看| 91精品综合视频| 中文字幕少妇一区二区三区| 亚洲第一视频网站| 少妇高潮久久77777| 精品女厕一区二区三区| 一区二区中文字幕| 久久伊人精品视频| 亚洲成人中文字幕| 97成人精品区在线播放| 亚洲free嫩bbb| 中文.日本.精品| 欧美特黄级在线| 精品久久久久久中文字幕一区奶水| 欧美日韩加勒比精品一区| 欧美影院久久久| 亚洲激情自拍图| 成人av在线亚洲| 欧美精品video| 久久国产精品久久国产精品| 8050国产精品久久久久久| 国产精品男女猛烈高潮激情| 欧美日韩中文字幕在线视频| 日韩国产精品亚洲а∨天堂免| 亚洲第一男人av| 久久在线视频在线| 日韩av片永久免费网站| 亚洲福利视频在线| 国产精品爽爽爽爽爽爽在线观看| 国产在线播放91|