ASP.NET如何实现在下载文件时对其重命名
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章将为大家详细讲解有关ASP.NET如何实现在下载文件时对其重命名,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。有些时候为了保证文件再上传时不会覆盖掉之前上传
千家信息网最后更新 2025年01月18日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安全错误
数据库的锁怎样保障安全
计算机软件开发属于什么工作
php实现更新数据库
计算机控制网络技术
sql读取2个数据库
河北应用软件开发哪家专业
wps数据库怎么做
外贸服务器好吗
软件开发成本说明书
数据库高mha
数据库的技术目标
软件开发服务行业优惠政策
软件开发工时是多少
网络安全世界排名
什么数据库主题好做
谛听网络技术杭州有限公司
做原油什么软件开发
软件开发去哪
idea连接不到数据库
携程网站数据库被删除
建委网络安全事件应急预案
db2服务器
软件开发成本说明书
安装那个数据库2008
金山区工商软件开发销售价格
软件开发打地鼠实训目标是什么
社区网络安全普及教育
浪潮服务器f几进启动项
智能软件开发售后服务
微创网络技术股份有限公司地址
魂三ps4服务器无法登录