上传图片

文献种类:所学知识文献;
开发工具与关键技术:VS-( 图片的上传 )
作者: 梁峻豪 ;年级:1902 ;撰写时间:2020 年 08 月 07日
在日常的上传中我们常常会涉及到图片的上传,那么如何把图片上传到页面中呢?
在这里插入图片描述
在这里插入图片描述

下图是图片上传成功的样子,下面我们就来分析一下代码
在这里插入图片描述
在这里插入图片描述

我们在控制器中创建一个方法,并给它一个参数file来接收页面传过来的数据,因为页面过来的数据是文件,所以参数的类型必须是文件类
我们首先使用try catch来捕捉一下错误,防止这段代码出错导致后面的代码不能运行
Try
{
第一步:
//我们先判断头像的路径是否存在,如果存在它返回true所以我们用”!”让他不存在
if(!System.IO.Directory.Exists(Server.MapPath("~/Document/userPicture/")))
{
//接下来我们创建一个目录,然后指定它的路径
System.IO.Directory.CreateDirectory(Server.MapPath("~/Document/userPicture/"));
}
第二步:
//判断是否上传了图片, ContentLength是文件的长度,下列条件判断文件是否存在
if (userPicture != null && userPicture.ContentLength > 0)
{
//接下来获取文件的扩展名称(根据文件的名称去拿到文件的后缀)
string imgExtension = System.IO.Path.GetExtension(userPicture.FileName);
//拼接要保存的文件名称(文件名避免重复所以拼接一个新的文件名)
string fileName = DateTime.Now.ToString(“yyyyMMddHHmmssffff”)
//Guid主要是用来创建一串编号(字符串)

“_” + Guid.NewGuid() + imgExtension;
//拼接文件保存的路径
tring filePath = Server.MapPath("~/Document/userPicture/") + fileName;
//保存上传的文件到硬盘
userPicture.SaveAs(filePath);
//文件名称保存到user对象,一般不会存完整的路径(也就是绝对路径)
user.picture = fileName;
}
catch (Exception e)
{
Console.WriteLine(e);
msg.Text = “数据保存异常”;
}
注意:我们一般不会存文件的保存路径,因为我们存的这个保存路径一般是全路径,也就是绝对路径。我们不会直接去存绝对路径,我们会去存一个名字,然后后面去拼接都可以。直接存绝对路径的话这样的扩展性会很差。比如以后在本机开发完了,在服务器上去部署的时候有可能服务器上和本机的路径就不太一样,这里用到相对路径会比较好。
扩展:AutoResizeImage()是一个方法是用来设置传输过来图片的宽度和高度以免图片过大影响页面样式.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值