在服务器上有个111.doc的文件我下载进想把文件名变成中文《你好.doc》大家有什么好方法推荐一下

gxnnyzr 2012-07-23 05:51:10
..................
...全文
89 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimmy1230 2012-07-24
  • 打赏
  • 举报
回复
感謝分享,正在學習
gxnnyzr 2012-07-24
  • 打赏
  • 举报
回复
谢谢,net_lover
孟子E章 2012-07-24
  • 打赏
  • 举报
回复
Response.AddHeader "Content-Disposition", "attachment; filename=" & Server.UrlEncode("新名字") & ".doc"

这样就不会.doc[1]

%D0%C2%C3%FB%D7%D6是编码,你可以测试是否需要Server.UrlEncode
ie9下是需要的
gxnnyzr 2012-07-24
  • 打赏
  • 举报
回复
万分感谢了,得了

下载时的文件名变成了%D0%C2%C3%FB%D7%D6.doc[1]
孟子E章 2012-07-24
  • 打赏
  • 举报
回复
Response.AddHeader "Content-Disposition", "attachment; filename=" & Server.UrlEncode("新名字.doc")

完整的测试

<%

Response.Buffer = true
Response.Clear

Dim fso,fl,flsize
dim Dname
Dim objStream,ContentType,flName,isre,url1

Dname= Server.Mappath("111.doc")

Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set fl=fso.getfile(Dname)
flsize=fl.size
Set fl=Nothing
Set fso=Nothing


Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile Dname

ContentType = "application/octet-stream"

Response.AddHeader "Content-Disposition", "attachment; filename=" & Server.UrlEncode("新名字.doc")
Response.AddHeader "Content-Length", flsize

Response.Charset = "UTF-8"
Response.ContentType = ContentType

Response.BinaryWrite objStream.Read
Response.Flush
response.Clear()
objStream.Close
Set objStream = Nothing
%>
gxnnyzr 2012-07-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

Response.AppendHeader("Content-Disposition", "attachment;filename=" & Server.UrlEncode("你好.doc"))

这不是asp吗
[/Quote]

可我执行了,是错误的,万分感谢
孟子E章 2012-07-24
  • 打赏
  • 举报
回复

Response.Buffer = true
Response.Clear

Dim fso,fl,flsize
dim Dname
Dim objStream,ContentType,flName,isre,url1

Dname= Server.Mappath("111.doc")

Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set fl=fso.getfile(Dname)
flsize=fl.size
Set fl=Nothing
Set fso=Nothing


Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile Dname

ContentType = "application/octet-stream"

Response.AddHeader "Content-Disposition", "attachment; filename=新名字.doc"
Response.AddHeader "Content-Length", flsize

Response.Charset = "UTF-8"
Response.ContentType = ContentType

Response.BinaryWrite objStream.Read
Response.Flush
response.Clear()
objStream.Close
Set objStream = Nothing
孟子E章 2012-07-24
  • 打赏
  • 举报
回复
Response.AppendHeader("Content-Disposition", "attachment;filename=" & Server.UrlEncode("你好.doc"))

这不是asp吗
gxnnyzr 2012-07-24
  • 打赏
  • 举报
回复
谢谢,楼上的,我用的是ASP,不知如何实现,谢了
孟子E章 2012-07-24
  • 打赏
  • 举报
回复
Response.AppendHeader("Content-Disposition", "attachment;filename=" & Server.UrlEncode("你好.doc"))
gxnnyzr 2012-07-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

下载的时候不是有下载框吗?在下载框里直接改名不就ok了吗~
[/Quote]

这样做人工的,如服务器中有个文件是123.doc 我下载时变成了,你好.doc
H_Gragon 2012-07-23
  • 打赏
  • 举报
回复
楼主是想改服务器上的文件名还是别的什么意思啊?我不太懂!
H_Gragon 2012-07-23
  • 打赏
  • 举报
回复
下载的时候不是有下载框吗?在下载框里直接改名不就ok了吗~

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧