这里是后台控制器中的代码

上传文件

        /// <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 文件的上传下载相关推荐

  1. 基于layui.upload.js 拖拽文件/文件夹上传下载

    layui.upload.js 拖拽文件/文件夹上传下载 前言 js代码 页面使用(我这里用的是uploader.jsp) CSS文件 上传效果 总结 前言 项目需求完成文件上传,可以拖拽上传文件/文 ...

  2. Java使用SFTP和FTP两种连接服务器的方式实现对文件的上传下载

    一.Java实现对SFTP服务器的文件的上传下载: 1.添加maven依赖: <dependency><groupId>com.jcraft</groupId>&l ...

  3. 文件的上传下载功能的实现(包括进度条)[telerik控件]

    文件的上传下载功能的实现(包括进度条) 1.准备工作 首先我们需要Telerik控件,数据库,上传文件文件夹. Telerik控件: RadUpload.RadProgressManager.RadP ...

  4. ssm框架验证码图片加载不出_基于SSM框架的文件图片上传/下载功能实现

    前一段时间很多做毕业设计的同学问:如何写图片和文件的上传下载功能,今天正好有时间,所以就做了一个案例,详细的讲解这个功能. 框架结构: 对于很多做过开发的而言,上传功能肯定都用过,而且用到的场景很多, ...

  5. ACTIVEX实现大文件FTP上传下载---上

    ACTIVEX实现大文件FTP上传 在Windows 操作系统下,有一个重要的机制,就是OLE ,就是可以让某个应用程序(OLE Controller)访问其它应用程序(OLE Server)所提供的 ...

  6. 使用JSP+Servlet实现文件的上传下载上传

    <!DOCTYPE html > <html> <head> <meta charset="UTF-8"> <title> ...

  7. SpringBoot2.x集成mongoDB4.0实现音频文件的上传下载功能

    最近项目要用到文件上传下载功能,但是这些音频文件都很大,放到关系型数据库就不太好了(其实是太不好了),占内存不说还慢的要死,所以考虑使用分布式文件系统或者非关系型数据库来实现.由于分布式文件系统没有用 ...

  8. 文件的上传下载(一)

    2019独角兽企业重金招聘Python工程师标准>>> 最近公司培训,所以收集整理了一些关于上传下载的资料,进行了整理与大家分享. Struts对文件上传的支持非常好,它是通过jak ...

  9. 云计算学习笔记004---hadoop的简介,以及安装,用命令实现对hdfs系统进行文件的上传下载

    1.Hadoop简介 1.hadoop的诞生 l  Nutch和Lucene之父Doug Cutting在2006年完成Hadoop项目. l  Hadoop并不是一个单词,它来源于DougCutti ...

最新文章

  1. 编程能力差!90%输在这点上!谷歌AI专家:其实都是瞎努力!
  2. BZOJ.4160.[NEERC2009]Exclusive Access 2(状压DP Dilworth定理)
  3. CUDA编程--实现并行矩阵乘法【80行代码】
  4. lorawan的工作原理_LoRaWAN协议的工作原理是怎样的
  5. 马斯克称特斯拉可能恢复比特币交易后 比特币价格突破4万美元
  6. 小程序组件的使用(一)创建组件
  7. 对垒 AI 领域?Google 和苹果竞相收购初创公司
  8. 文档在项目开发中的作用
  9. 基于51单片机DTH11温湿度测量仪protues仿真设计_LCD显示
  10. 惊讶!一行Python代码让图形秒变「手绘风」
  11. 胡嘉伟 :实时计算在提升播放体验的应用实践
  12. 往MYSQL中插入,读写图片!
  13. check if DVE variable is valid
  14. k8s - Service ExternalName
  15. 北京电信整顿“一机双号” 通信管理局要求清理原库
  16. html打开无法显示网页怎么回事,Win7打开网页提示“Internet Explorer无法显示该页面”如何解决?...
  17. Julia数据可视化:Gadfly.jl包的使用
  18. scrapy爬取天涯帖子内容
  19. python Django音乐推荐系统
  20. 基于STM32的移动视频监控系统

热门文章

  1. 读书笔记15:VAIN:Attentional Multi-agent Predictive Modeling
  2. 关于 DataFrame: 处理json数据(re模块,concat...)
  3. mysql 查看时区_mysql 查看及修改时区的方法
  4. spring-rabbit的使用
  5. 如何优雅地弄好PCB丝印
  6. 隐马尔模型----四
  7. 血饮龙纹、百战沙城,静默安装,卸载了以后 没几个小时就又安装到电脑了
  8. Qmail的配置文件详解
  9. 阿里巴巴倡导的数据中台,到底是什么东东
  10. 【因果发现】 针对时序数据的因果图学习