图片保存与显示
開發工具與關鍵技術:ASP.NET MVC
作者:陳榮基
撰寫時間:2019.07.27
圖片保存與顯示
通常我們在對數據新增、修改等處理的時候少不了圖片這一詞
對于圖片數據的新增或修改也是比較特殊的
因為圖片數據是屬于文件數據的
所以相對與其他數據傳參也是有所不同的他傳參的數據不是單純的文本數據而是圖片數據
那么他提交請求控制器的方法傳參時控制器那邊接收數據的形參的數據類型也是區別于其他的
在控制器中形參的數據類型是HttpPostedFileBase
如下圖
使用HttpPostedFileBase這個數據類型來接收是因為圖片傳參傳傳的不是一個數據
如下圖HttpPostedFileBase類里面的字段
可以看出從圖片傳過來的是多條數據
所以將HttpPostedFileBase類作為聲明字段的數據類型
接收之后就可以進行保存了
如下圖將圖片以IO流的形式將圖片數據轉換為二進制數據存入數據庫中
然而修改進行圖片保存就會出現顯示與保存沖突的問題
因為進行圖片顯示用的是img標簽
獲取圖片數據進行保存卻是從type為file的input標簽里選擇的圖片進行獲取的
所以當你不進行圖片重新選擇修改的時候看似有圖片顯示就會認為有圖片數據進行保存
實際上保存的數據是空的所以當你保存數據后刷新看到的圖片就是空的
解決這個問題的方法就是給他判斷圖片傳過來的數據是空的就不進行保存
只保存其他數據
如果不是空的就全部數據一起保存
這樣就可以實現圖片不重新選擇就是沒修改圖片的效果
如下圖
總結
- 上一篇: ‘parent.relativePath
- 下一篇: 算法笔记--支配树