.Net Core 文件的上传下载
这里是后台控制器中的代码
上传文件
/// <summary>/// 上传附件(单个附件)/// </summary>/// <returns></returns>[HttpPost]public ActionResult UploadFile(){try{string Id = "";//记录返回的附件Idstring filePath = "";//记录文件路径IFormFileCollection formFiles = Request.Form.Files;//获取上传的文件if (formFiles == null || formFiles.Count == 0){return Json(new { status = -1, message = "没有上传文件", filepath = "" });}IFormFile file = formFiles[0];string fileExtension = file.FileName.Substring(file.FileName.LastIndexOf(".") + 1);//获取文件名称后缀 //保存文件var stream=file.OpenReadStream();// 把 Stream 转换成 byte[] byte[] bytes = new byte[stream.Length];stream.Read(bytes, 0, bytes.Length);// 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begin);// 把 byte[] 写入文件 FileStream fs = new FileStream("D:\\"+file.FileName, FileMode.Create);BinaryWriter bw = new BinaryWriter(fs);bw.Write(bytes);bw.Close();fs.Close(); return Json(new { success = true, status = 0, message = "上传成功", filepath = "D:\\"+file.FileName, code = Id }); }catch (Exception ex){return Json(new { success = false, status = -3, message = "上传失败", data = ex.Message, code = "" });}}
文件下载
/// <summary>/// 文件下载/// </summary>/// <param name="url"></param>/// <returns></returns>[HttpGet]public IActionResult DownLoadFile(string url){try{var stream = System.IO.File.OpenRead(url);//var stream = new FileStream(fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);//推荐此方法string fileExt = Path.GetExtension(url);//获取文件的ContentTypevar provider = new FileExtensionContentTypeProvider();var memi = provider.Mappings[fileExt];return File(stream, memi, Path.GetFileName(url));}catch (Exception ex){return NotFound();}}
如果是在实时动态生成文件,且需要删除生成的文件的情况下下载文件的话,建议使用FileContentResult实现,示例代码
/// <summary>/// 生成无pdf文件并下载/// </summary>/// <param name="id">id</param>/// <returns></returns>[HttpGet]public ActionResult CreateNoWaterPDF(string id){try{string pdfPath = "";//生成pdf文件projectInfoApp.CreateNoWaterPDF(id, environment.ContentRootPath, out pdfPath);var stream = new FileStream(pdfPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);MemoryStream memoryStream = new MemoryStream();stream.CopyTo(memoryStream);stream.Close();memoryStream.Position = 0;//删除生成的pdf文件,减少冗余文件System.IO.File.Delete(pdfPath); byte[] bt = memoryStream.ToArray();FileContentResult result = new FileContentResult(bt, "application/octet-stream");result.FileDownloadName = "申报书.pdf";return result;}catch (Exception e){//return NoContent();return null;}}
.Net Core 文件的上传下载相关推荐
- 基于layui.upload.js 拖拽文件/文件夹上传下载
layui.upload.js 拖拽文件/文件夹上传下载 前言 js代码 页面使用(我这里用的是uploader.jsp) CSS文件 上传效果 总结 前言 项目需求完成文件上传,可以拖拽上传文件/文 ...
- Java使用SFTP和FTP两种连接服务器的方式实现对文件的上传下载
一.Java实现对SFTP服务器的文件的上传下载: 1.添加maven依赖: <dependency><groupId>com.jcraft</groupId>&l ...
- 文件的上传下载功能的实现(包括进度条)[telerik控件]
文件的上传下载功能的实现(包括进度条) 1.准备工作 首先我们需要Telerik控件,数据库,上传文件文件夹. Telerik控件: RadUpload.RadProgressManager.RadP ...
- ssm框架验证码图片加载不出_基于SSM框架的文件图片上传/下载功能实现
前一段时间很多做毕业设计的同学问:如何写图片和文件的上传下载功能,今天正好有时间,所以就做了一个案例,详细的讲解这个功能. 框架结构: 对于很多做过开发的而言,上传功能肯定都用过,而且用到的场景很多, ...
- ACTIVEX实现大文件FTP上传下载---上
ACTIVEX实现大文件FTP上传 在Windows 操作系统下,有一个重要的机制,就是OLE ,就是可以让某个应用程序(OLE Controller)访问其它应用程序(OLE Server)所提供的 ...
- 使用JSP+Servlet实现文件的上传下载上传
<!DOCTYPE html > <html> <head> <meta charset="UTF-8"> <title> ...
- SpringBoot2.x集成mongoDB4.0实现音频文件的上传下载功能
最近项目要用到文件上传下载功能,但是这些音频文件都很大,放到关系型数据库就不太好了(其实是太不好了),占内存不说还慢的要死,所以考虑使用分布式文件系统或者非关系型数据库来实现.由于分布式文件系统没有用 ...
- 文件的上传下载(一)
2019独角兽企业重金招聘Python工程师标准>>> 最近公司培训,所以收集整理了一些关于上传下载的资料,进行了整理与大家分享. Struts对文件上传的支持非常好,它是通过jak ...
- 云计算学习笔记004---hadoop的简介,以及安装,用命令实现对hdfs系统进行文件的上传下载
1.Hadoop简介 1.hadoop的诞生 l Nutch和Lucene之父Doug Cutting在2006年完成Hadoop项目. l Hadoop并不是一个单词,它来源于DougCutti ...
最新文章
- 编程能力差!90%输在这点上!谷歌AI专家:其实都是瞎努力!
- BZOJ.4160.[NEERC2009]Exclusive Access 2(状压DP Dilworth定理)
- CUDA编程--实现并行矩阵乘法【80行代码】
- lorawan的工作原理_LoRaWAN协议的工作原理是怎样的
- 马斯克称特斯拉可能恢复比特币交易后 比特币价格突破4万美元
- 小程序组件的使用(一)创建组件
- 对垒 AI 领域?Google 和苹果竞相收购初创公司
- 文档在项目开发中的作用
- 基于51单片机DTH11温湿度测量仪protues仿真设计_LCD显示
- 惊讶!一行Python代码让图形秒变「手绘风」
- 胡嘉伟 :实时计算在提升播放体验的应用实践
- 往MYSQL中插入,读写图片!
- check if DVE variable is valid
- k8s - Service ExternalName
- 北京电信整顿“一机双号” 通信管理局要求清理原库
- html打开无法显示网页怎么回事,Win7打开网页提示“Internet Explorer无法显示该页面”如何解决?...
- Julia数据可视化:Gadfly.jl包的使用
- scrapy爬取天涯帖子内容
- python Django音乐推荐系统
- 基于STM32的移动视频监控系统