MVC图片上传

一般图片的文件太大,放进数据库的图片太多导致数据库体积过度增长而导致数据库索引变慢,
所以上传的图片一般都不会直接把图片上传到数据库,
而是把图片的名称(路径)保存到数据库,图片则保存到硬盘上

首先从页面获取到图片
MVC图片上传

先判断是否获取到图片,如果获取到图片之后,给图片进行编码
MVC图片上传

因为这里用的是jQuery上传文件,所以还要告诉jQuery不要去处理发送的数据
选择到图片后通过post提交文件(图片文件不能用get提交)
把文件数据传到控制器
MVC图片上传

从控制器这边处理数据
MVC图片上传

先检查图片路径是否存在,防止路径不存在而无法保存和更改
MVC图片上传

获取文件的扩展名称,然后拼接一下要保存的名称和路径
MVC图片上传

然后把上传的文件保存到硬盘
userPicture.SaveAs(filePath);

文件的名称就保存到user对象
user.picture = fileName;

从控制器查询出原来的图片
MVC图片上传

然后再判断一下有没有旧的图片,有的话就删除掉
避免图片堆积,占用空间
MVC图片上传

然后修改保存,成功就提交事务,状态为真,返回修改成功的提示到页面。否则返回修改失败,不提交事务
MVC图片上传

在回调函数接收从控制器传回来的数据
判断是否上传成功,上传成功就弹出成功提示,并执行上传成功的代码,否则提示上传失败
MVC图片上传