Asp.Net Core 文件上传处理
本文主要介绍后台接收处理
1.在使用控制器接收
: [HttpPost]
: public IActionResult UploadFiles(IList<IFormFile> files)
: {
: long size = ;
: foreach(var file in files)
: {
: var filename = ContentDispositionHeaderValue
: .Parse(file.ContentDisposition)
: .FileName
: .Trim('"');
: filename = hostingEnv.WebRootPath + $@"\{fileName}";
: size += file.Length;
: using (FileStream fs = System.IO.File.Create(filename))
: {
: file.CopyTo(fs);
: fs.Flush();
: }
: }
2.使用HttpRequest接收
方式1:
: [HttpPost]
: public IActionResult UploadFilesAjax()
: {
: long size = ;
: var files = Request.Form.Files;
: foreach (var file in files)
: {
: var filename = ContentDispositionHeaderValue
: .Parse(file.ContentDisposition)
: .FileName
: .Trim('"');
: filename = hostingEnv.WebRootPath + $@"\{filename}";
: size += file.Length;
: using (FileStream fs = System.IO.File.Create(filename))
: {
: file.CopyTo(fs);
: fs.Flush();
: }
: }
: string message = $"{files.Count} file(s) /
: {size} bytes uploaded successfully!";
: return Json(message);
: }
方式2:
//接收文件
var files = req.Form.Files;
if (files.Count <= )
throw new Exception("获取上传文件失败");
IFormFile _file = files[];
string backInfo = req.Form["backinfo"];
if (string.IsNullOrEmpty(backInfo))
throw new Exception("获取文件信息失败");
UploadMsg upMsg = backInfo.JsonDeserializer<UploadMsg>();
this.file = new UploadInfo(upMsg);
//获取文件数据
Stream stream = _file.OpenReadStream();
try
{
byte[] dataOne = new byte[stream.Length];
stream.Read(dataOne, , dataOne.Length);
AppendFile(dataOne);
}
finally
{
stream.Close();
}
支持.Net Core的上传控件:https://github.com/tianma3798/Uploader
更多:
Asp.Net Core 文件上传处理的更多相关文章
- [转载]ASP.NET Core文件上传与下载(多种上传方式)
ASP.NET Core文件上传与下载(多种上传方式) 前言 前段时间项目上线,实在太忙,最近终于开始可以研究研究ASP.NET Core了. 打算写个系列,但是还没想好目录,今天先来一篇,后面在 ...
- ASP.NET Core文件上传IFormFile于Request.Body的羁绊
前言 在上篇文章深入探究ASP.NET Core读取Request.Body的正确方式中我们探讨了很多人在日常开发中经常遇到的也是最基础的问题,那就是关于Request.Body的读取方式问题,看是简 ...
- ASP.NET Core 文件上传
前言 上篇博文介绍了怎么样在 asp.net core 使用 Redis 和 Protobuf 进行 Session缓存.本篇的是开发过程中使用的一个小功能,怎么做单文件和多文件上传. 如果你觉得对你 ...
- ASP.NET Core文件上传与下载(多种上传方式)
前言 前段时间项目上线,实在太忙,最近终于开始可以研究研究ASP.NET Core了. 打算写个系列,但是还没想好目录,今天先来一篇,后面在整理吧. ASP.NET Core 2.0 发展到现在,已经 ...
- Asp.Net Core文件上传
文件上传功能在实际开发中经常使用,在 .Net Core中,文件上传接收类型不再使用 HttpPostedFile 或 HttpFileCollection来接收,而是使用 IFormFile 或 I ...
- ASP.NET Core文件上传、下载与删除
首先我们需要创建一个form表单如下: <form method="post" enctype="multipart/form-data" asp-con ...
- asp.net core分块上传文件
写完asp.net多文件上传(http://www.cnblogs.com/bestckk/p/5987383.html)后,感觉这种上传还是有很多缺陷,于是...(省略一万字,不废话).这里我没用传 ...
- ASP.NET多文件上传实例
在Web应用程序开发中,避免不了要用到上传文件这个功能,但以前上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举.下面的这个例子实现了多文件上传功能.可以动态添加输入表单,上传的文件数量没 ...
- ASP.NET - 多文件上传,纯代码,不使用插件
解决方案: 前段代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Mu ...
随机推荐
- docker 获取容器id
docker ps -aqf 'name=pypaltform2018_v1_trust_pro'
- DSP 中关键字extern,cregister,Near ,Far,restrict,volatile
extern:extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义.另外,extern也可用来进行链接指定. const: 可以 ...
- jbox小型交互表单(ajax)
function updateval(id){ var url = '${ctx}/zbapp/ranking/zbappRankingList/form?id=${zbappRankingList. ...
- 026.Zabbix简单调优
一 调优相关对应项 Zabbix busy trapper processes, in % StartTrappers=5 Zabbix busy poller processes, in % Sta ...
- java 反射获取类的静态属性值
public class AppTest { private NodeClass nodeClass; public static String hehe = "hehe"; pu ...
- 微信小程序之下拉刷新,上拉加载更多
近日开发微信小程序,发现上拉加载更多没有友好的API,而下拉刷新很nice,所以本人按照API,很简单的写了一个示例,希望对大家有帮助,本人用的是iview-webapp 小程序UI框架. 1. 首 ...
- UICollectionView 常用操作
1 iOS开发 - UICollectionView点击展开收起
- listview重新计算高度
将xml中的ListView改用下面的ListViewForScrollView //ScrollView中嵌入ListView,让ListView全显示出来 public class ListVie ...
- AFO 我的oi生涯 大结局
今儿个哥几个一屋子退役了,这两天也许会写一个生涯大结局留作纪念吧. 今天就写了吧. 由于在机房的原因比一般同学获得的知识更多一些.进来总是看新闻,感慨颇多.自从两会开的第一天起,我就对我们政府采取的一 ...
- 实现常用的配置文件/初始化文件读取的一个C程序
在编程中,我们经常会遇到一些配置文件或初始化文件.这些文件通常后缀名为.ini或者.conf,可以直接用记事本打开.里面会存储一些程序参数,在程序中直接读取使用.例如,计算机与服务器通信,服务器的ip ...