Asp.Net Core文件上传IFormFile
时间:2019-09-04
本文章向大家介绍Asp.Net Core文件上传IFormFile,主要包括Asp.Net Core文件上传IFormFile使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
文件上传功能在实际开发中经常使用,在 .Net Core中,文件上传接收类型不再使用 HttpPostedFile 或 HttpFileCollection来接收,而是使用 IFormFile 或 IFormFileCollection来接收。
下面看一个例子就明白怎么使用了,具体代码如下:
<div class="form-group"> <form enctype="multipart/form-data" asp-controller="home" asp-action="upload" method="post"> <input type="file" name="input" id="input" class="custom-file-input" /> <label class="custom-file-label" for="input"></label> <input type="submit" value="提交" /> </form> </div> @section scripts{ <script> $(document).ready(function () { $(".custom-file-input").on("change", function () { var fileName = $(this).val().split("\\").pop(); $(this).next(".custom-file-label").html(fileName); }) }); </script> }
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using FileUpload.Models; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Hosting; using System.IO; namespace FileUpload.Controllers { public class HomeController : Controller { private readonly IHostingEnvironment _hostingEnvironment; public HomeController(IHostingEnvironment hostingEnvironment) { _hostingEnvironment = hostingEnvironment; } public IActionResult Index() { return View(); } [HttpPost] public IActionResult Upload(IFormFile input) { if (input == null) return BadRequest(); string uploadsFolder = Path.Combine(_hostingEnvironment.WebRootPath, "images"); string uniqueFileName = Guid.NewGuid().ToString() + "_" + input.FileName; string filePath = Path.Combine(uploadsFolder,uniqueFileName); input.CopyTo(new FileStream(filePath, FileMode.Create)); return Ok(); } } }
多文件上传
<div class="form-group"> <form enctype="multipart/form-data" asp-controller="home" asp-action="upload" method="post"> <input type="file" name="input" id="input" class="custom-file-input" multiple /> <label class="custom-file-label" for="input"></label> <input type="submit" value="提交" /> </form> </div> @section scripts{ <script> $(document).ready(function () { $(".custom-file-input").on("change", function () { var fileLabel = $(this).next(".coustom-file-lable"); var files = $(this)[0].files; if (files.length > 1) { fileLabel.html("你已选择了" + files.length + "个文件"); } else { fileLabel.html(files[0].name); } }) }); </script> }
[HttpPost] public IActionResult Upload(IFormFileCollection input) { if (input == null) return BadRequest(); string uploadsFolder = Path.Combine(_hostingEnvironment.WebRootPath, "images"); string uniqueFileName = Guid.NewGuid().ToString() + "_" + input[0].FileName; string filePath = Path.Combine(uploadsFolder,uniqueFileName); input[0].CopyTo(new FileStream(filePath, FileMode.Create)); return Ok(); }
原文地址:https://www.cnblogs.com/jesen1315/p/11459838.html
- C++ STL学习之容器set和multiset (补充材料)
- Codeforces Round #410 (Div. 2)(A,字符串,水坑,B,暴力枚举,C,思维题,D,区间贪心)
- 关于int *a[常量]与int (*a)[常量]的分析与区分(详解)
- python笔记3-发送邮件(smtplib)
- 关关的刷题日记01—Leetcode 169. Majority Element
- 关小刷刷题02——Leetcode 169. Majority Element 方法2和3
- 树链剖分简单分析及模板(杂谈)
- 第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
- python+requests接口自动化项目完整框架设计
- POJ 1804 Brainman(5种解法,好题,【暴力】,【归并排序】,【线段树单点更新】,【树状数组】,【平衡树】)
- 关关的刷题日记03—Leetcode 448. Find All Numbers Disappeared in an Array
- 关关的刷题日记04——Leetcode 283. Move Zeroes
- UESTC 1591 An easy problem A【线段树点更新裸题】
- 关关的刷题日记05 —— Leetcode 219. Contains Duplicate II
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- laravel Validator ajax返回错误信息的方法
- Linux下 php7安装redis的办法
- php实现的数组转xml案例分析
- Laravel框架Auth用户认证操作实例分析
- yii2实现Ueditor百度编辑器的示例代码
- PHP下载文件函数与用法示例
- php实现银联商务公众号+服务窗支付的示例代码
- php使用json-schema模块实现json校验示例
- 17个品牌,113款5G手机,5G离我们越来越近。
- PHP的cookie与session原理及用法详解
- Thinkphp5.0框架视图view的循环标签用法示例
- Thinkphp5.0 框架视图view的比较标签用法分析
- laravel 操作数据库常用函数的返回值方法
- laravel 验证错误信息到 blade模板的方法
- thinkPHP+LayUI 流加载实现功能