ASP.Net Core创建MVC项目上传文件(缓冲方式)
学习了普通webapp中上传文件,再看看从MVC项目中通过缓冲方式上传文件到物理文件夹。这两者的区别主要是webapp通过模型绑定的方式传递IFormFile对象,而mvc通过控制器和action传递IFormFile对象,后续对IFromFile对象的处理其实差不多。
运行下列命令创建mvc项目。
dotnet new mvc -o UploadFileByMVC
code -r UploadFileByMVC
直接在默认的HomeController类中增加下列两个函数用于上传多个文件和单个文件,代码参照参考文献1-2.
[HttpPost]
public async Task<IActionResult> UploadMultiFile(List<IFormFile> files)
{long size = files.Sum(f => f.Length);foreach (var formFile in files){var filePath = Path.Combine(_targetFilePath, formFile.FileName);if (formFile.Length > 0){using (var stream = new FileStream(filePath, FileMode.Create)){await formFile.CopyToAsync(stream);}}}return Ok(new { count = files.Count, size });
}[HttpPost]
public async Task<IActionResult> UploadSingleFile(IFormFile file)
{var filePath = Path.Combine(_targetFilePath, file.FileName);if (file.Length > 0){using (var stream = new FileStream(filePath, FileMode.Create)){await file.CopyToAsync(stream);}}return Ok(new { count = 1 ,file.Length });
}
页面就是将之前上传单个文件和多个文件的表单混在了一起,代码和截图如下:
<p>多文件上传:</p><form method="post" enctype="multipart/form-data" asp-controller="Home" asp-action="UploadMultiFile"><div><input type="file" name="files" multiple /></div><div><input type="submit" value="Upload" /></div>
</form><p>单文件上传:</p>
<form method="post" enctype="multipart/form-data" asp-controller="Home" asp-action="UploadSingleFile"><div><input type="file" name="file" /></div><div><input type="submit" value="Upload" /></div>
</form>
程序比较简单,可以正常运行,微软示例中还包括列出缓冲文件夹的文件清单的功能,后面准备把这块代码剥处来放在本文的项目中。
参考文献:
[1]https://blog.csdn.net/tie123000/article/details/96868206
[2]https://blog.csdn.net/weixin_41960204/article/details/107575845?spm=1001.2101.3001.6650.14&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14-107575845-blog-96868206.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14-107575845-blog-96868206.pc_relevant_paycolumn_v3
ASP.Net Core创建MVC项目上传文件(缓冲方式)相关推荐
- Asp.Net Core Web Api图片上传及MongoDB存储实例教程(一)
图片或者文件上传相信大家在开发中应该都会用到吧,有的时候还要对图片生成缩略图.那么如何在Asp.Net Core Web Api实现图片上传存储以及生成缩略图呢?今天我就使用MongoDB作为图片存储 ...
- Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程
Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程 原文:Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程 Asp.Net Cor ...
- Spring MVC实现上传文件报错解决方案
Spring MVC实现上传文件报错解决方案 参考文章: (1)Spring MVC实现上传文件报错解决方案 (2)https://www.cnblogs.com/liuling/p/2014-3-5 ...
- spring mvc(注解)上传文件的简单例子
spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方 1.form的enctype="multipart/form-data" 这个是上传文件必须的 2.appl ...
- SpringBoot 项目上传文件异常【java.io.IOException: Stream closed】
项目场景: 提示:这里简述项目相关背景: 项目场景:SpringBoot 项目上传文件接口异常 21 十二月 2022 13:30:53,132 36991 [http-nio-9220-exec-3 ...
- GitHub 之 创建分支并上传文件
本篇文章将讲述如何通过 git 的一款命令行工具 Git Bash 对 Github 账户中的目标远程库 新建分支 并 上传文件 至该分支! 先说明本篇博客所用到 Git Bash 的些许指令: 1 ...
- 华为服务器上传文件,服务器上传文件的方式
服务器上传文件的方式 内容精选 换一换 外部镜像文件在从原平台导出前,没有按照"Windows操作系统的镜像文件限制"的要求完成初始化操作,推荐您使用弹性云服务器完成相关配置.流程 ...
- ASP .NET Core Web MVC系列教程:使用ASP .NET Core创建MVC Web应用程序
本系列教程翻译自微软官方教程,官方教程地址:Get started with ASP.NET Core MVC | Microsoft Docs 本系列教程介绍了构建MVC Web应用程序的基础知识. ...
- C# ASP.NET MVC 图片上传的多种方式(存储至服务器文件夹,阿里云oss)
图片上传时我们进场用到的一个功能今天将他整理了一下写了个demo希望对大家有用 该demo分为如下 1.上传至至服务器文件夹 2.上传至阿里云oss 3.百度webupload上传图片 效果图如下: ...
最新文章
- firefox下的调试工具
- 二叉树后序遍历-递归与非递归(左右根)
- 【网络安全】SQL注入攻击思路手法总结(上)
- 用汇编的眼光看C++(之判断流程)
- 【AI视野·今日CV 计算机视觉论文速览 第213期】Fri, 4 Jun 2021
- python画图指定起点_python3绘图示例6-1(基于matplotlib,绘图流程介绍及设置等)...
- python中copytree的用法_python复制文件的方法实例详解
- jenkins pipeline_Jenkins流水线(pipeline)实战之:从部署到体验
- python大神写的代码_【python】抄写大神的糗事百科代码
- 春运首日 广西桂林火车站向旅客“送万福”
- JVM学习02-虚拟机的基本结构
- 优先级继承 linux,非独占锁的优先级继承协议及其在Linux下的实现
- 千图成像python_爬取英雄联盟所有皮肤图片实现千图成像!Python真强!!
- 如何申请成为企业微信,并成为第三方服务商
- 【loj2567】【APIO2016】划艇
- 练习题目---光照度
- Linux进程间通信(下)
- 干货!我开发 Android 是如何界面设计的
- document.write详解
- 简单 python 爬虫(一)
热门文章
- 笔记本重置找不到恢复环境_重置Win10电脑时提示找不到恢复环境的解决教程
- 刚做外贸,先做平台好还是独立站好?
- 网站添加自动获取ICP备案号
- 听说90%的ASOer都不懂这个应用内购ASO获量法
- 华为gauss数据库常见的13种数据类型介绍
- 双鸭山2021年高考成绩查询,2021年双鸭山高考状元是谁分数多少分,历年双鸭山高考状元名单...
- 面对新技术,必须找到与其发展相辅相成的长期主义的方法
- C++结构体和类的区别
- Electron 打包exe方法
- 【主题世界】阿狸对着你卖萌桌面主题