图片保存与显示

本文详细讲解了在ASP.NET MVC框架下如何处理图片的上传与显示问题,包括使用HttpPostedFileBase类型接收图片数据,通过IO流将图片转换为二进制存储到数据库,以及解决图片显示与保存冲突的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发工具与关键技术:ASP.NET MVC
作者:陈荣基
撰写时间:2019.07.27

图片保存与显示

通常我们在对数据新增、修改等处理的时候少不了图片这一词
对于图片数据的新增或修改也是比较特殊的
因为图片数据是属于文件数据的
所以相对与其他数据传参也是有所不同的他传参的数据不是单纯的文本数据而是图片数据
那么他提交请求控制器的方法传参时控制器那边接收数据的形参的数据类型也是区别于其他的
在控制器中形参的数据类型是HttpPostedFileBase
如下图
在这里插入图片描述
使用HttpPostedFileBase这个数据类型来接收是因为图片传参传传的不是一个数据
如下图HttpPostedFileBase类里面的字段
在这里插入图片描述
可以看出从图片传过来的是多条数据
所以将HttpPostedFileBase类作为声明字段的数据类型
接收之后就可以进行保存了
如下图将图片以IO流的形式将图片数据转换为二进制数据存入数据库中
在这里插入图片描述
然而修改进行图片保存就会出现显示与保存冲突的问题
因为进行图片显示用的是img标签
获取图片数据进行保存却是从type为file的input标签里选择的图片进行获取的
所以当你不进行图片重新选择修改的时候看似有图片显示就会认为有图片数据进行保存
实际上保存的数据是空的所以当你保存数据后刷新看到的图片就是空的
解决这个问题的方法就是给他判断图片传过来的数据是空的就不进行保存
只保存其他数据
如果不是空的就全部数据一起保存
这样就可以实现图片不重新选择就是没修改图片的效果
如下图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值