ASP.NET MVC5 之 客户端实现文件的下载
MVC 实现下载功能主要借助于 File 属性:
//下载文件接口
public ActionResult GetTrackTempIsc(ICSModels icsModels)
{
bool flag = false;
string path = Server.MapPath("~/File/file.ics");
if (icsModels.IcsFMTTYPE.Contains("{1}br{2}"))
{
icsModels.IcsFMTTYPE = icsModels.IcsFMTTYPE.Replace("{1}br{2}", "<br/>");
}
var trackIsc = GetTempContent(path, icsModels); //字符流
byte[] bt = System.Text.Encoding.UTF8.GetBytes(trackIsc);
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".ics";//客户端保存的文件名
//以字符流的形式下载文件
return File(bt, "application/vnd.ms-txt", fileName);
}
/// <summary>
/// 读取文件内容
/// </summary>
public string GetTempContent(string tempPath, ICSModels icsModels)
{
StringBuilder content = new StringBuilder();
if (System.IO.File.Exists(tempPath))
{
using (StreamReader sr = new StreamReader(tempPath, Encoding.GetEncoding("utf-8")))
{
String srLine;
while ((srLine = sr.ReadLine()) != null)
{
content.AppendLine(srLine);
}
}
// string strContent = content.ToString();
return ConvertTempContent(content.ToString(), icsModels);
}
return null;
}
/// <summary>
/// 字符替换
/// </summary>
private string ConvertTempContent(string source, ICSModels icsModels)
{
if (source.Contains("#IcsCREATED#"))
source = source.Replace("#IcsCREATED#", icsModels.IcsCREATED);
return source;
}
//PDF 文件下载
public ActionResult GetPdfFile(PdfDownModel pdfModel)
{
var pdfPath = Server.MapPath("~/PdfFile/outstanding.pdf");
PdfFileEditor fileEditor = new PdfFileEditor();
Document doc = new Document(pdfPath);
PdfContentEditor pdfContentEditor = new PdfContentEditor();
pdfContentEditor.BindPdf(doc);
pdfContentEditor.ReplaceText("Qi Liu", pdfModel.UserName); //保存
var maPath = "~/pdfDown/" + pdfModel.UserName + ".pdf";
var docPath = Server.MapPath(maPath);
doc.Save(docPath); //字符流
// byte[] bt = System.Text.Encoding.UTF8.GetBytes(docPath);
//string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".pdf";//客户端保存的文件名
// System.IO.File.Delete(docPath);
string fileName = pdfModel.UserName + ".pdf";//客户端保存的文件名 //以字符流的形式下载文件
return File(docPath, "application/pdf", fileName);
}
ASP.NET MVC5 之 客户端实现文件的下载的更多相关文章
- ASP.NET MVC5入门2之Ajax实现数据查询
开发环境:VS2013 数据库:SQL Server2008R2 架构:ASP.NET MVC5 开发语言:C# 代码下载链接:http://download.csdn.net/detail/u010 ...
- asp.net mvc5 下载文件方法
控制器自带的 FileContentResult 可以让我们很方便的返回文件到服务端,减少了很多步骤.用于下载文件的时候,像视频.文本.图片这种浏览器支持的文件,默认就会被浏览器打开.这时候想让它变成 ...
- ASP.NET MVC5基础 – MVC文件架构
创建MVC项目 首先,我们使用Visual Studio2019创建一个MVC架构的应用程序.步骤如下:首先打开VS2019,在启动页选择[创建新项目].然后选择创建 ASP.NET Web 应用程序 ...
- 彻底解决asp.net mvc5.2.2:vs2013 cshtml视图文件报错(当前上下文中不存在名称“model”,ViewBag,Url)
最近遇到一个奇葩的问题,在vs2013下cshtml视图文件报错,出现当前上下文中不存在名称“model”,ViewBag,Url等等),在视图中也没有智能提示了,用@model声明视图的model类 ...
- asp dotnet core 支持客户端上传文件
本文告诉大家如何在 asp dotnet core 支持客户端上传文件 新建一个 asp dotnet core 程序,创建一个新的类,用于给客户端上传文件的信息 public class Kanaj ...
- [Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则
目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...
- [Asp.net MVC]Asp.net MVC5系列——第一个项目
目录 概述 创建第一个项目 添加控制器 总结 概述 本教程是个人一步一步学习的总结,希望能帮到正在进入ASP.Net MVC5方向的朋友,个人也是准备进入ASP.NET MVC5领域,虽然艰辛,但是乐 ...
- [Asp.net MVC]Asp.net MVC5系列——添加视图
目录 系列文章 概述 添加视图 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 概述 在这一部分我们添加一个新的控制器HelloWorldController类, ...
- ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用
文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-ef-6-get-started-model.html 上一节:ASP.NET MVC ...
随机推荐
- JPA的一些坑
推荐一篇比较好的介绍JPA的文章:使用 Spring Data JPA 简化 JPA 开发 JPA坑1:不支持Limit查询 JPA是不支持Limit分页查询,而我们有时又因为某些原因不想用JPA提供 ...
- Linux下汇编语言学习笔记34 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- hdu - 2645 find the nearest station (bfs水)
http://acm.hdu.edu.cn/showproblem.php?pid=2645 找出每个点到距离最近的车站的距离. 直接bfs就好. #include <cstdio> #i ...
- POJ 3233_Matrix Power Series
题意: 求n*n矩阵的幂和 分析: 逐个加起来时间复杂度太高,通过在矩阵中套个矩阵和,再利用矩阵快速幂,最后时间复杂度为O(n3logn) 代码: #include<cstdio> #in ...
- ETL增量单表同步简述_根据timestamp增量
ETL增量单表同步简述 1. 实现需求 当原数据库的表有新增.更新.删除操作时,将改动数据同步到目标库对应的数据表. 2. 设计思路 设计总体流程图如下: 步骤简单说明: 1.设置job的执行属性,如 ...
- restful接口就是url嘛,通过http请求发起访问。那接口进行监控,就可以监控这个restful url嘛
EasyAPI接口管理系统 专注API接口监控,让您的API接口更稳定,与APP更紧密 + 购买监控服务 接口性能分析 分析App对应的API接口请求性能,包含HTTP响应时间.吞吐率.HTTP错误率 ...
- uva 1411 Ants (权值和最小的完美匹配---KM算法)
uva 1411 Ants Description Young naturalist Bill studies ants in school. His ants feed on plant-louse ...
- 笔记本能连上WIFI网络,但是无法上网怎么办
在插网线的台式机上登陆192.168.1.1,点击无线设置,修改一下SSID号,别的什么都不用改. 然后保存,需要重启路由器.重启之后再用笔记本连接新的无线网络即可.
- web前端减少你按刷新的频率
Browsersync 先下载:nodejs ,然后安装完以后,我们在命令行打印 node -v 完成后我们进行以下操作,安装browser-sync ,官网上有详细的教程,请访问:Browsers ...
- 5 shell命令之tr
这是一个奇妙的命令. tr的全拼就是translate,即翻译.有趣的是我们能够制定规则进行翻译.使用方法例如以下: tr [option] set1 [set2] tr从标准输入接受输入.然后将结 ...