Web MVC图片上传总结
使用SQL Sever某表设计一个列明:picture(图片)
用来存放上传的图片的路径//把文件保存到磁盘,再把文件名称(路径)保存到sql server数据库,如果直接把图片引进数据库,可能导致数据库运行速度,索引速度下降(一个字符一个字节,图片格式占用内存大)
使用SQL Server保存图片需要更新Model表
图片的上传和查看
前端实现 MVC
基本流程
1,在视图上放一个选择图片文件的按钮或者输入框
后端操作基本思路
//保存用户头像
//==检查存放图片的目录是否存在(if判断)
if (!System.IO.Directory.Exists(Server.MapPath("~/Document/userPicture/")))
{
System.IO.Directory.CreateDirectory(Server.MapPath("~/Document/userPicture/"));
}
//判断是否上传了图片
if(userPicture!=null && userPicture.ContentLength > 0)
{
//获取文件的扩展名称
string imgExtension = System.IO.Path.GetExtension(userPicture.FileName);
//拼接要保存的文件名称
string fileName = DateTime.Now.ToString(“yyyyMMddHHmmssffff”) + “_” + Guid.NewGuid() + imgExtension;
//拼接文件保存的路径
string filePath = Server.MapPath("~/Document/userPicture/") + fileName;
//保存上传的文件到硬盘
userPicture.SaveAs(filePath);
//文件名称保存到user对象
user.picture = fileName;