插件--文件上传

作者:李光辉

撰写时间:2019.5.24

在最近的学习项目中看到需要用到上传文件这个功能点,虽然现在有很多上传组件可以利用,但是了解Web上传文件的原理,对于处理突然出现的问题会有很大的帮助,下面就来讲一下通过浏览器上传文件的基本原理。在了解了原理之后,就可以非常容易地自制满足自身需要的上传组件了。
在这里插入图片描述

例如上图中的图片上传,点击选择文件功能按钮,选择需要上传的文件确认后上传,然后上传的文件就会显示在图像信息中,同时可以设置图片的格式。
在这里插入图片描述

在客户端代码中需要使用来选择要上传的文件,并上传,代码如下:
在这里插入图片描述
在上传文件时,标签必须加上enctype=“multipart/form-data”,否则浏览器无法将文件内容上传到服务端。
在这里插入图片描述
首先来说一下控制器的代码部分:

先写一个方法,注意方法接收的参数为HttpPostedFileBase(提供对客户端已上载的单独文件的服务),然后接收的变量名称必须是upload,否则就会接收不了文件。
在这里插入图片描述
在如果upload不为空的情况下,进行下面一系列的操作。
在这里插入图片描述
通过文件名称获取文件的扩展名,系统自动识别文件类型;然后拼接一个新的文件名称,通过UID生成一段随机字符避免名称重复;文件上传之后需要保存,判断是否存在目录,而MapPath的作用是把相对路径转换为绝对路径;然后保存文件的路径,而文件的路径就是上面拼接的文件名称加上创建的目录。
在这里插入图片描述
然后判断上传的文件是否是需要的格式,如果不是则无法上传,其中最重要的就是upload.SaveAs(filePath)用于保存上载文件的内容。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值