一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - ASP.NET教程 - ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

2020-01-12 13:40Insus.NET ASP.NET教程

這篇文章主要為大家詳細(xì)介紹了ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示的相關(guān)資料,需要的朋友可以參考下

先看看效果(下面gif動(dòng)畫制作有點(diǎn)大,5.71MB):

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

題外話:上面選擇圖片來源于Insus.NET的新浪微博,言歸正傳,由于以前的asp.net mvc的練習(xí)文件上傳文件,顯示或是下載等博文,均是存儲于站點(diǎn)目錄之中。這次練習(xí)是把圖片存儲于數(shù)據(jù)庫,也就是以圖片的數(shù)據(jù)流存儲,在上傳時(shí)我們需要把文件處理為數(shù)據(jù)庫,顯示時(shí),我們需要把數(shù)據(jù)流處理為文件。

一看上面的演示,我們還會看到一個(gè)預(yù)覽區(qū)。選擇圖片時(shí),預(yù)覽區(qū)會預(yù)先顯示選擇圖片。確認(rèn)正確之后,我們再上傳至數(shù)據(jù)庫中。

使用下面SQL語句創(chuàng)建表[dbo].[ImageStore],存儲過程2個(gè)[dbo].[usp_ImageStore_Insert]和[dbo].[usp_ImageStore_GetAll]:

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

根據(jù)數(shù)據(jù)表,我們需要在asp.net mvc的models目錄中創(chuàng)建一個(gè)mode,習(xí)慣性是以數(shù)據(jù)表來創(chuàng)建:

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

由于我們還要處理程序與數(shù)據(jù)庫之間的交流,創(chuàng)建一個(gè)Entity,兩個(gè)方法,一是獲取所有數(shù)據(jù),另一個(gè)是為添加數(shù)據(jù)所準(zhǔn)備:

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

上面的Entity中,有兩個(gè)標(biāo)記。
標(biāo)記2,Insus.NET有寫成一個(gè)Utility,也就是說把DataTable轉(zhuǎn)換為List<T>的工具,其實(shí)有以前的asp.net mvc也有提及或是代碼分享,在此你不必再費(fèi)時(shí)費(fèi)心去搜索,參考下面代碼就是了:

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

在上面的代碼示例中,#35行的方法,是DataTable轉(zhuǎn)換為json序列化,由于本例中并無使用到,即在此略過。

接下來,打開控制器創(chuàng)建兩Action,第一個(gè)控制是視圖操作,我們有把數(shù)據(jù)傳入視圖中。而第二個(gè)操作,是為處理上傳文件方法所服務(wù)。

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

控制器兩個(gè)Action代碼:

下是完成View視圖,在視圖中我們先定義表格樣式:

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

準(zhǔn)備即時(shí)預(yù)覽圖片的js代碼:

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

顯示數(shù)據(jù)與動(dòng)態(tài)產(chǎn)生Table:

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

上面代碼示例中,#119與#120代碼,是顯示圖片,有關(guān)base64圖片,可以參考獨(dú)立演示:

演示ASP.NET MVC應(yīng)用程序,顯示Base64圖片。

在控制器中,Insus.NET有創(chuàng)建兩個(gè)Action,一個(gè)是為視圖準(zhǔn)備,另一個(gè)是把文件轉(zhuǎn)換為FileStream,然后再用 Convert.ToBase64String() 來轉(zhuǎn)換。

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

在下面的視圖中,添加一個(gè)div markup來load圖片。語法:'<img src="data:image/png;base64,' + data.Base64Imgage + '" />':

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

實(shí)時(shí)演示:

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

當(dāng)然,完全正確應(yīng)該是如下:

ASP.NET MVC實(shí)現(xiàn)圖片上傳、圖片預(yù)覽顯示

#122是動(dòng)態(tài)指定圖片原來的mine type。語法就是簡潔與方便。

asp.net mvc圖片上傳與顯示,整個(gè)實(shí)現(xiàn)過程,并沒有怎樣的復(fù)雜,一個(gè)一個(gè)小功能來實(shí)現(xiàn)。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产微拍精品一区 | 白白国产永久免费视频 | 99久久精品免费看国产一区 | 亚洲福利电影一区二区? | 日本卡1卡2卡4卡免费 | 久久精品中文闷骚内射 | 亚洲国产欧美目韩成人综合 | 嫩草精品| 我在厨房摸岳的乳HD在线观看 | 操骚0| 免费抽搐一进一出印度 | 男人狂擦女人的下面视频 | 国产精品99在线观看 | 全日爱韩国视频在线观看 | 草草免费观看视频在线 | 我的奶头被客人吸的又肿又红 | 国产盗摄美女嘘嘘视频 | 免费看60分钟大片视频播放 | 九九精品视频在线免费观看 | 精品日韩二区三区精品视频 | 视频一区久久 | 亚洲精品一区二区三区中文字幕 | 国产90后美女露脸在线观看 | cosplay 极品videos | 成品人视频w免费观看w | 国产精品久久久久一区二区三区 | 97影视| 国产第一福利视频导航在线 | 国内精品久久久久影院嫩草 | 天天摸天天操天天爽 | 我年轻漂亮的继坶2中字在线播放 | 91在线 在线播放 | 嫩交18xxxx | 日本大片网 | 日本888 xxxx | 色综合天天综合网看在线影院 | sihu国产午夜精品一区二区三区 | 激性欧美激情在线aa | 99热精品在线免费观看 | 男人猛激烈吃奶gif动态图 | 日韩精品视频免费 |