溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

發(fā)布時間:2021-02-04 15:35:56 來源:億速云 閱讀:681 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

先看看效果(下面gif動畫制作有點大,5.71MB):

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

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

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

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

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

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

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

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

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

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

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

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

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

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

控制器兩個Action代碼:

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

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

準備即時預覽圖片的js代碼:

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

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

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

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

演示ASP.NET MVC應用程序,顯示Base64圖片。

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

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

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

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

實時演示:

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

當然,完全正確應該是如下:

ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示

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

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

以上是“ASP.NET MVC怎樣實現(xiàn)圖片上傳、圖片預覽顯示”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI