Asp.Net 5上传文件 (Core API方式)
首先在控制器中注入IWebHostEnvironment
IWebHostEnvironment提供有关正在运行应用程序的Web托管环境的信息。
属于命名空间Microsoft.AspNetCore.Hosting
IWebHostEnvironment接口需要注入为控制器依赖性再后来整个控制器使用。
该IWebHostEnvironment接口有两个属性。
- WebRootPath -www文件夹的路径(获取或设置包含Web服务应用程序内容文件的目录的绝对路径)
- ContentRootPath -根文件夹路径包含了所有应用程序文件(获取或设置IFileProvider在WebRootPath指指点点。)
private readonly IWebHostEnvironment _webHostEnvironment; public CommonController(IWebHostEnvironment webHostEnvironment)
{
_webHostEnvironment = webHostEnvironment;
}

此处根据WebRootPath = "D:\\source\\repos\\AnnualMeeting\\Game\\wwwroot",把文件放在wwwroot目录下
文件上传使用IFormFile

1 [Route("api/[controller]")]
2 [ApiController]
3 public class CommonController : ControllerBase
4 {
5 private readonly IWebHostEnvironment _webHostEnvironment;
6
7 public CommonController(IWebHostEnvironment webHostEnvironment)
8 {
9 _webHostEnvironment = webHostEnvironment;
10 }
11 [HttpPost]
12 [Route("FileUpload")]
13 public async Task<IActionResult> FileUpload(IFormFile files)
14 {
15
16 if (files == null && files.Length <= 0)
17 {
18 throw new Exception("Files is Null");
19 }
20
21 var fileExt = Path.GetExtension(files.FileName);
22 var newFileName = Guid.NewGuid().ToString() + fileExt;
23 var path = Path.Combine(_webHostEnvironment.WebRootPath, "Avatar\\" + newFileName);
24 try
25 {
26 await using var stream = System.IO.File.Create(path);
27 await files.CopyToAsync(stream);
28 return Ok(new { msg = "上传成功", fileName = newFileName });
29 }
30 catch (Exception e)
31 {
32 throw new Exception(e.Message);
33 }
34 }
35 }
在swagger中可直接上传测试

Asp.Net 5上传文件 (Core API方式)的更多相关文章
- Asp.Net Core WebApi 和Asp.Net WebApi上传文件
public class UpLoadController : ControllerBase { private readonly IHostingEnvironment _hostingEnviro ...
- asp.net 客户端上传文件全路径获取方法
asp.net 获取客户端上传文件全路径方法: eg:F:\test\1.doc 基于浏览器安全问题,浏览器将屏蔽获取客户端文件全路径的方法,只能获取到文件的文件名,如果需要获取全路径则需要另想其他 ...
- ASP.NET MVC上传文件----uploadify的使用
课程设计需要实现上传文件模块,本来ASP.NET是有内置的控件,但是ASP.NET MVC没有,所以就有两种方法:自定义和采用第三方插件.由于时间的关系,故采用第三方插件:uploadify. upl ...
- asp.net 限制上传文件的大小与时间
在web.Config文件中配置限制上传文件大小与时间的字符串是在<httpRuntime><httpRuntime/>节中完成. maxRequsetLength 属性:用于 ...
- ASP.NET MVC上传文件
最近参考网络资料,学习了ASP.NET MVC如何上传文件.最基本的,没有用jQuery等技术. 1.定义Model public class TestModel { [Displ ...
- Asp.net:上传文件超过了最大请求长度
错误消息:超过了最大请求长度 错误原因:asp.net默认最大上传文件大小为4M,运行超时时间为90S. 解决方案 1. 修改web.config文件可以改变这个默认值 ...
- asp.net FileUpload上传文件夹并检测所有子文件
1.在FileUpload控件添加一个属性 webkitdirectory=""就可以上传文件夹了 <asp:FileUpload ID="FileUpload1& ...
- 【转】php通过curl跨域向asp.net服务器上传文件及参数
转:http://blog.sina.com.cn/s/blog_13331dce50102vq32.html 这是一个由php通过调用asp.net接口向asp.net服务器post上传文件及参数并 ...
- asp.net 怎么上传文件夹啊,不传压缩包!
ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...
随机推荐
- 在nodejs中利用 Proxy监听对象值的获取
1 window = new Proxy(global, { 2 get: function (target, key, receiver) { 3 console.log("window. ...
- 背单词(AC自动机+线段树+dp+dfs序)
G. 背单词 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 给定一张包含N个单词的表,每个单词有个价值W.要求从中选出一个子序列使 ...
- 洛谷P2504题解
题目 瓶颈生成树的裸题.可以查看这个来获取更多信息. 他问的是能够在所有树上自由穿梭的猴子个数,那我只需要算出这张图上最小生成树中权值最大的边,和每个猴子的最大跳跃长度进行比较即可. 因为我用的是 \ ...
- 涨姿势啦!Java程序员装X必备词汇之对象标记Mark Word!
大家好,我是庆哥Java,一个专注于干货分享的Java自学者! 写在前面 如果你已经知道什么是Mark Word,那我也希望你都好好阅读下本篇文章,因为你有可能发现不一样的切入点来帮助你更加深入的了解 ...
- Java知识复习回顾
1.MVC 三层架构: M:Model 数据模型层 V:View 视图层 C:Controller控制器层 目的:解耦 2.Spring Spring:轻量级的Java开源框架,容器,目的是解决企业级 ...
- gRPC学习之二:GO的gRPC开发环境准备
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos gRPC学习系列文章链接 在CentOS7部署和设置G ...
- 简单的整合 shiro + SpringMVC 例子
简单的整合shiro和springmvc的例子 想要整合Shiro和springmvc,在网上找了很多例子,感觉都有一点复杂.所以就自己写了一个最简单整合项目,记录在这里以备后面查看. 这个例子包含如 ...
- Java-Stream流方法学习及总结
1 前言 Stream是一个来自数据源的元素队列并支持聚合操作,其中具有以下特性: Stream只负责计算,不存储任何元素,元素是特定类型的对象,形成一个队列 数据源可以实集合.数组.I/O chan ...
- Linux中的账号权限管理
一.用户账号和组账号概述 Linux基于用户身份对资源访问进行控制 1.1.用户账号 超级用户:root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有最高的权限.系统中超级用户是唯一 ...
- CTF--[BJDCTF2020]Cookie is so stable 1(SSTI)
从hint.php可以找到提示,要求观察cookies 打开flag.php可以看到需要输入用户名,多次试验后发现输入的用户名会以cookies的方式储存 使用dirsearch扫描没有发现什么有用的 ...