ASP.NET MVC 上传文件方法

ASP.NET MVC 上传文件方法开发工具和关键技术:VisualStudio2015,ASP.NETMVC作者:金建勇撰写时间:2019年4月24日,在完成MVC项目的过程中,经常会涉及到上传文件,而且更多的是上传图片,需要上传一张或多张图片到网页上,这个时候就要一个上传文件的方法.下面就讲解如何编写一个上传文件的方法:首先去到控制器创建一个方法,如下图所示:需要先定义好一个字符串,用…

大家好,又见面了,我是你们的朋友全栈君。

,在完成MVC项目的过程中,经常会涉及到上传文件,而且更多的是上传图片,需要上传一张或多张图片到网页上,这个时候就要一个上传文件的方法.下面就讲解如何编写一个上传文件的方法:

首先去到控制器创建一个方法,如下图所示:

需要先定义好一个字符串,用来提醒用户上传时出现的问题,最后返回这个字符串。在写下面代码之前需要用到try…catch…,可以在调试代码的时候捕捉错误。

ASP.NET MVC 上传文件方法

图中代码有用到 HttpPostedFileBase 是一个类,作用就是提供对客户端已上载的单独的文件的访问。

下面就是开始写判断代码以及判断后文件保存的代码:

第一步:判断上传文件是否为空;

第二步:判断上传文件大小是否超过

第三步:获取文件类型、创建文件名称;

第四步:判断保存文件的目录的是否存在;

第五步:判断上传文件类型是否为指定类型;

当最后结果为true时才执行保存文件。代码见下图:

ASP.NET MVC 上传文件方法

图中代码有运用到很多关键字,下面就一一讲解下:

System.IO.Path对包含文件文件或目录路径信息的 string 实例执行操作。

Guid:表示全局唯一的标识符。NewGuid(),初始化Guid结构的新实例

System.IO.Directory:公共用于创建、移动和枚举通过目录和子目录的静态方法。(此类不会被继承。)

Server.MapPath:在派生类中重写时,返回与web服务器上的指定虚拟路径相对于的物理文件路径。

CreateDirectory():此方法用于在指定路径上创建目录和子目录。

ToLower():此方法将字符串转换为小写形式。

Contains():此方法返回一个值,该值指示指定的子串是否出现在此字符串中。

SaveAs():此方法在派生类中重写时,保存上载文件的内容。

以上就是上传文件方法的全部内容了,写完方法之后,再去到视图请求方法,就能实现文件上传了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162943.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MyBatis3与Spring4整合方法详解(使用SqlSessionTemplate类)

    MyBatis3与Spring4整合方法详解(使用SqlSessionTemplate类)摘要:由于项目需要,第一次接触MyBatis,在网上找了很多MyBatis与Spring的整合方法,网上的资料不够详细,虽然讲了很多整合方法,但却没有针对每一种方法去详细讲解,对于没有相关基础的人难以操作,因此自己整理记录如下转载自:http://p.primeton.com/articles/54c1dcc5be20aa3884000012由于项目需要,第一次接触MyBatis,

    2022年5月18日
    61
  • MVC框架模式与SpringMVC框架

    MVC框架模式与SpringMVC框架1 框架与设计模式框架 设计模式这两个概念很容易被人混淆 但其实这两者之间还是存在差别的 框架通常是代码重用 而设计模式是设计重用 nbsp 设计模式是对反复出现的问题的解决方案的描述 是一种思想用于处理细节的 比框架更加抽象 框架是已经用代码实现的 可以执行也可以复用 设计模式是比框架更小的元素 一个框架往往会包含一个或者多个设计模式 框架总是针对某一特定领域的 而设计模式则可以适用于各个

    2025年9月13日
    4
  • TypeError: argument of type ‘int‘ is not iterable「建议收藏」

    TypeError: argument of type ‘int‘ is not iterable「建议收藏」TypeError:argumentoftype’int’isnotiterableTraceback(mostrecentcalllast):File"C:/Users/lenovo/PycharmProjects/DoubleU/TestCase/test.py",line131,in<module>Select(driver.find_…

    2025年6月29日
    3
  • 数组和链表的区别和优缺点总结!

    数组和链表的区别和优缺点总结!数组和链表是两种基本的数据结构,他们在内存存储上的表现不一样,所以也有各自的特点。链表中各结点在内存中的存放位置是任意的。 链表与数组的主要区别(1)数组的元素个数是固定的,而组成链表的结点个数可按需要增减;(2)数组元素的存诸单元在数组定义时分配,链表结点的存储单元在程序执行时动态向系统申请:(3)数组中的元素顺序关系由元素在数组中的位置(即下标)确定,链表中的结点顺序关系…

    2022年6月16日
    26
  • pandas函数手册_函数str

    pandas函数手册_函数str一.假设有数据集dfdf.isnull()返回DateFrame,元素为空或者NA就显示True,否则就是False二.判断有空值的列df.isnull().any()当列有为空或者NA的元素,就为True,否则False三.显示出有空值列的列名的列表,iris.columns[iris.isnull().any()].tolist()四.删除全部是空值的行iris.dropna(axis=0,how=’all’,inplace=True)五。删除全部是空值的列iri

    2022年10月7日
    4
  • 直接sql 添加字段赋值

    直接sql 添加字段赋值SELECTuf.fans_idasfansId,u.`nickname`asnickname,u.`head`ashead,uf.`create_time`ascreateTime,1astypeFROM`user_fans`ufLEFTJOIN`user`uONuf.fans_id=u.idWHEREuf.`u…

    2025年7月29日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号