ASP.NET如何实现在下载文件时对其重命名
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章将为大家详细讲解有关ASP.NET如何实现在下载文件时对其重命名,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。有些时候为了保证文件再上传时不会覆盖掉之前上传
千家信息网最后更新 2025年11月08日ASP.NET如何实现在下载文件时对其重命名
这篇文章将为大家详细讲解有关ASP.NET如何实现在下载文件时对其重命名,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
有些时候为了保证文件再上传时不会覆盖掉之前上传的文件,同时由于上传的目标目录里的文件可能很多,这个时候一个一个查是不太好的事情,所以这里可以自动生成GUID使文件名重命名成GUID_原来的名称.扩展名。但是在下载的时候最好可能保证恢复到原来的名称。这个时候听伤神的。搜了一下相关资料后得知可使用response来解决。具体代码如下。
string path = Server.MapPath("aa\\ahaakladahsasdas_bb.zip");
string newfileName = "";
if (File.Exists(path))
{
FileInfo fi = new FileInfo(path);
Response.Clear();//Clear 方法删除缓冲区中的所有 HTML 输出。但 Clear 方法只删除响应正文
//而不删除响应标题。可以用该方法处理错误情况。
Response.ClearHeaders();
Response.Buffer = false;//这句话的意思就是指明输出页面是否被缓冲,当属性值为True时,
//服务器将不会向客户端发送任何信息,直到所有程序执行完或者遇到
//Response.Flush或Response.End语句,才会释放缓冲区的信息。
string filename = Path.GetFileName(path);
newfileName = newfileName + filename.Substring(filename.LastIndexOf("."));
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
newfileName = HttpUtility.UrlEncode(newfileName);// 这一步弹出下载保存的对话框,出现文件名乱码,但变量中的文件名是正常的。
Response.AppendHeader("Content-Disposition", "attachment;filename=" + newfileName);//为用户保存文件是显示的名称
//告诉客户端这个响应内容的类型为attachment 你是通过Response.AppendHeader("content-type", "attachment"); 申明的。
Response.AppendHeader("Content-Length", fi.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.WriteFile(newfileName);//用response来返回文件的路径
Response.Flush();//清空response
Response.End();
//Response.End(); 如果抛异常的话可使用
//HttpContext.Current.ApplicationInstance.CompleteRequest();
}
else
{
Response.Write("");
}
关于"ASP.NET如何实现在下载文件时对其重命名"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文件
时候
名称
文件名
方法
篇文章
缓冲
信息
内容
客户
客户端
更多
缓冲区
保证
输出
不错
伤神
实用
乱码
事情
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
企业管理器查询数据库名
网络安全教育总结2021
员工工资管理系统数据库设计流图
服务器与设备之间怎么连接
电脑做的服务器
服务器psu
暗黑2重制版ns 与游戏服务器
2019互联网高科技图片
ftp服务器怎么登陆
win10网络安全引导
香港服务器可以使用微信支付没
数据库划分为三个层次
无线传感器网络技术 实验
merlin软件开发
企业数据库开发维护需要具备
数据库划分的类型
世界互联网大会网宿科技
台达服务器电源哪个型号好
软件开发涉及到哪些成本
大同智能化网络安全服务保障
undata数据库
嘉定区品质软件开发售后服务
软件开发费包括哪些
网络安全评估 收费
数据库技术发展动力
淄博网络安全大赛报名
fm属性数据库
pubg哪个服务器稳定
上海驿才网络技术
二手服务器电源怎么那么多