ASP.NET MVC 上传文件方法
,在完成MVC项目的过程中,经常会涉及到上传文件,而且更多的是上传图片,需要上传一张或多张图片到网页上,这个时候就要一个上传文件的方法.下面就讲解如何编写一个上传文件的方法:
首先去到控制器创建一个方法,如下图所示:
需要先定义好一个字符串,用来提醒用户上传时出现的问题,最后返回这个字符串。在写下面代码之前需要用到try…catch…,可以在调试代码的时候捕捉错误。
图中代码有用到 HttpPostedFileBase 是一个类,作用就是提供对客户端已上载的单独的文件的访问。
下面就是开始写判断代码以及判断后文件保存的代码:
第一步:判断上传文件是否为空;
第二步:判断上传文件大小是否超过
第三步:获取文件类型、创建文件名称;
第四步:判断保存文件的目录的是否存在;
第五步:判断上传文件类型是否为指定类型;
当最后结果为true时才执行保存文件。代码见下图:
图中代码有运用到很多关键字,下面就一一讲解下:
System.IO.Path:对包含文件文件或目录路径信息的 string 实例执行操作。
Guid:表示全局唯一的标识符。NewGuid(),初始化Guid结构的新实例
System.IO.Directory:公共用于创建、移动和枚举通过目录和子目录的静态方法。(此类不会被继承。)
Server.MapPath:在派生类中重写时,返回与web服务器上的指定虚拟路径相对于的物理文件路径。
CreateDirectory():此方法用于在指定路径上创建目录和子目录。
ToLower():此方法将字符串转换为小写形式。
Contains():此方法返回一个值,该值指示指定的子串是否出现在此字符串中。
SaveAs():此方法在派生类中重写时,保存上载文件的内容。
以上就是上传文件方法的全部内容了,写完方法之后,再去到视图请求方法,就能实现文件上传了。
ASP.NET MVC 上传文件方法相关推荐
- ASP.NET MVC上传文件----uploadify的使用
课程设计需要实现上传文件模块,本来ASP.NET是有内置的控件,但是ASP.NET MVC没有,所以就有两种方法:自定义和采用第三方插件.由于时间的关系,故采用第三方插件:uploadify. upl ...
- ASP.NET MVC 上传文件
这几天练习的ASP.NET MVC项目中碰到了文件上传的问题,分享一下: View: View 1<form action="/AdminImage/Index/" meth ...
- asp.net mvc 上传到服务器 图片不显示,ASP.NET MVC实现图片上传、图片预览显示
先看看效果(下面gif动画制作有点大,5.71MB): 题外话:上面选择图片来源于Insus.NET的新浪微博,言归正传,由于以前的asp.net mvc的练习文件上传文件,显示或是下载等博文,均是存 ...
- Spring MVC上传文件原理和resolveLazily说明
问题:使用Spring MVC上传大文件,发现从页面提交,到进入后台controller,时间很长.怀疑是文件上传完成后,才进入.由于在HTTP首部自定义了"Token"字段用于权 ...
- 小程序上传音频失败_微信小程序实现录音后上传文件方法详细
本篇文章讲述了微信小程序实现录音后上传文件方法,大家对微信小程序实现录音后上传文件方法不了解的话或者对微信小程序实现录音后上传文件方法感兴趣的话那么我们就一起来看看本篇文章吧, 好了废话少说进入正题吧 ...
- python+selenium 上传文件方法
input上传: 找到对应的元素,使用send_keys('filePath')即可: 例: #上传封面图 webDriver.find_element(By.NAME,'file').send_ke ...
- [ASP.NET] 限制上传文件类型的两种方法(转)
通常,为了防止因用户上传有害文件(如木马.黑客程序)引发的安全性问题,Web程序都会对用户允许上传的文件类型加以限制.而本文将要介绍的就是如何在ASP.NET应用程序中利用Web Control的内置 ...
- ASP.NET MVC 上传大文件时404
前一段时间会员的上传组件改用FLASH的swfupload来上传,既能很友好的显示上传进度,又能完全满足大文件的上传. 后来服务器升级到windows 2008,改为IIS7后,上传文件一旦超过30M ...
- asp.net关于上传文件修改文件名的方法
我这里主要用到了文件的复制方法 string SavesUPLoadPath = ConfigurationManager.AppSettings["AWUploadLocation&quo ...
- Asp.net MVC 上传大文件(超过50M)的设置
在上传文件时,比较小的文件会直接上传成功,大的文件页面报错:"文件超过了最大请求长度". 经过查明: 需要在配置文件里面设置文件上传限定的两个属性值:maxAllowedConte ...
最新文章
- BZOJ4152 AMPPZ2014 The Captain(最短路)
- 河科大c语言上机实验答案,2016年河南科技学院信息工程学院C语言上机编程考研复试题库...
- 报告显示:2018年北京人工智能相关产业达1500亿元
- 关于PHP安装扩展pdo_odbc
- 王晓东:科学家要耐得住寂寞
- 【英语学习】【Level 07】U07 Stories of my Life L2 I actually did it!
- [English] notes
- 三十好几的程序员被领导责骂,只能到厕所痛哭!
- 解决nodejs运行程序卡死之后,程序后台运行的问题
- MapReduce异常
- springmvc 需要用到的核心jar包
- 深圳雷赛智能自动控制软件使用说明(运动控制卡)
- python计算机视觉-图像处理基础章节第三章之根据仿射或单应性变换实现图像的扭曲,映射,融合
- Unity网游开发生存指南—蒸汽之城
- Spring Boot统一日志框架
- 大型、超大型数据中心园区设计如何审查与优化
- OSChina 周五乱弹 —— 黑披风的程序员和白围裙的产品经理彼此世代为仇
- python字符串常用操作方法(一)
- 饿了么红包、美团优惠券开发(外卖cps,三级裂变源码)
- 小龙虾消费大数据:规模千亿级 带动500多万就业
热门文章
- runtime error python 3.5_Python 3.5 RuntimeError: can't start new thread
- 黑苹果教程(二)自己制作cdr、dmg镜像
- 转:移动建站工具(一):分秒钟将Web网站移动化
- 在线评判系统java代码_sojV1.0 Online Judge System
在线评判系统是一个 联合开发网 - pudn.com...
- python 修图_拿到一张图怎么后期才能更好一点啊?告诉你具体的修图思路
- linux登录认证过程,Linux的SSH免密登录认证过程研究
- jetson-nano编译qt5.15.2带opengl,xcb
- thinkphp 实现图片中的二维码识别
- edge bing搜索响应缓慢
- iOS开发之如何保证控件位置不变,增加触控范围(即frame和bounds的区别)