ASP.NET Core上传文件

ASP.NET Core使用IFormFile来读取上传的文件内容,然后将数据写入到磁盘或其它存储空间。

  1. 添加FileUpload模型,用来接收上传的文件内容。
public class FileUpload
{
public string Name { get; set; } [Required]
public IFormFile SelectedFile { get; set; }
}
  1. 在Form中添加enctype=multipart/form-data属性,完整的Form代码如下:
<form method="post" action="~/Upload" enctype="multipart/form-data">
<p>
<label>名称: </label>
<input type="text" asp-for="FileUpload.Name" />
</p>
<p>
<label>选择文件: </label>
<input type="file" asp-for="FileUpload.SelectedFile" />
</p>
<input type="submit" value="提交" />
</form>
  1. 添加OnPostAsync方法,处理submit的文件
[BindProperty]
public FileUpload FileUpload { get; set; } public async Task<IActionResult> OnPostAsync()
{
if (!ModelState.IsValid)
{
this.Error = "输入错误";
return Redirect("~/Upload");
} //保存文件
string path = Path.Combine(Environment.CurrentDirectory, "Upload", Guid.NewGuid().ToString("n"));
using (var fileStream = new FileStream(path, FileMode.Create))
{
await FileUpload.SelectedFile.CopyToAsync(fileStream);
} return Page();
}

通过以上步骤即可完成简单的文件上传。

注意:这种方式只能处理小文件的上传,当上传大文件时,需要参考一下步骤:ASP.NET Core 中的文件上传

ASP.NET Core 中的文件上传的更多相关文章

  1. 简单原始的ASP.NET WEBFORM中多文件上传【参考其他资料修改】

    首先是ASPX页面中添加file标签 <input onclick="addFile()" type="button" value="增加&qu ...

  2. ASP.NET中的文件上传大小限制的问题

    一.文件大小限制的问题 首先我们来说一下如何解决ASP.NET中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采用更改WEB.Config文 ...

  3. Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程

    Asp.Net Core Web Api图片上传及MongoDB存储实例教程(一) 图片或者文件上传相信大家在开发中应该都会用到吧,有的时候还要对图片生成缩略图.那么如何在Asp.Net Core W ...

  4. Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)(转)

    Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现) 相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦 ...

  5. ASP.NET MVC下使用文件上传

    这里我通过使用uploadify组件来实现异步无刷新多文件上传功能. 1.首先下载组件包uploadify,我这里使用的版本是3.1 2.下载后解压,将组件包拷贝到MVC项目中 3.  根目录下添加新 ...

  6. MVC中的文件上传-小结

    web开发中,文件的上传是非常基本功能之一. 在asp.net中,通常做法是利用webservice 来接收文件请求,这样做的好处就是全站有了一个统一的文件上传接口,并且根据网站的实际情况,可以将we ...

  7. [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传

    原文 [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传 Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件 ...

  8. struts2中的文件上传,文件下载

    文件上传: Servlet中的文件上传回顾 前台页面 1.提交方式post 2.表单类型 multipart/form-data 3.input type=file 表单输入项 后台 apache提交 ...

  9. javaWeb中的文件上传下载

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

随机推荐

  1. .NET Garbage Collection配置在.net core的写法

    .net franework<configuration> <runtime> <gcServer enabled="true"/> <g ...

  2. quratz启动流程

    SchedulerFactory在创建quartzScheduler的过程中,将会读取配置参数,初始化各个组件. 1.启动流程图 2.ThreadPool 一般是使用SimpleThreadPool, ...

  3. Linux下C语言的进程控制编程

    代码: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/ty ...

  4. debian9 开启rc.local服务

    由于某些软件并没有增加开启启动的服务,很多时候需要手工添加,一般我们都是推荐添加命令到 /etc/rc.local 文件,但是 Debian 9 默认不带 /etc/rc.local 文件,而 rc. ...

  5. Codefoces Gym 101652 【最大连续和】

    <题目链接> 题目大意: 给你一段只由 'B'和'R'组成的字符串,问你在连续的区间内,"B"和"R"的差值最大是多少,输出该区间:如果对于差值相等 ...

  6. Vue-Router 学习笔记

    1:当router-link组件默认渲染成一个a标签,通过to属性指定目标地址,当对应的路由匹配成功,会自动给激活的标签设置class属性值 API 1:to:表示目标路由的链接,当被点击时,内部会立 ...

  7. JavaScript 六大类运算符(详细~)

    运算符   1.算术运算符:+.-.*./.%.++.--       单目(操作数为一个且为变量): i++.i--.++i.--i;     双目:+.-.*./.%;   双目其中 -*/%   ...

  8. 高效使用hibernate-validator校验框架

    一.前言 高效.合理的使用hibernate-validator校验框架可以提高程序的可读性,以及减少不必要的代码逻辑.接下来会介绍一下常用一些使用方式. 二.常用注解说明 限制 说明 @Null 限 ...

  9. C# ImageHelper

    using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Web; ...

  10. C#最简单的连接数据库的方法

    在vs2010下建立项目(可以是WEB或者是FORM窗体应用程序),在VS2010中,找到“服务器资源管理器”,右击“数据连接”.在添加连接中设置服务器名(登录SQL Server时的服务器名称,可以 ...