首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >response.transmitfile更改文件名

response.transmitfile更改文件名
EN

Stack Overflow用户
提问于 2013-03-15 23:08:56
回答 2查看 3.2K关注 0票数 1

我有以下代码

代码语言:javascript
复制
    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles submit1.Click

    Dim filename As String = "C:\pdfs\" + TextBox1.Text
    Response.TransmitFile(filename)

End Sub

the是包含扩展名的pdf的名称。THis运行良好,除了pdf的文件名被更改为我调用它的网页的名称。但c:\pdfs中的pdf名称保持不变。

我能阻止它改变名字吗。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-16 04:37:18

将Response.TransmitFile更改为

代码语言:javascript
复制
Dim fileInfo As FileInfo = new FileInfo("C:\pdfs\" + TextBox1.Text)

 Response.ContentType = "application/octet-stream";
 Response.AddHeader("Content-Disposition", String.Format("attachment;filename=\"{0}\"", TextBox1.Text));
 Response.AddHeader("Content-Length", fileInfo.Length.ToString());
 Response.WriteFile(fileInfo.FullName);
 Response.End();
票数 3
EN

Stack Overflow用户

发布于 2014-11-11 05:28:56

如果您愿意,您可以继续使用Transferfile,但以这种方式。

代码语言:javascript
复制
FileInfo file = new FileInfo(filePath);

//LINE1:在标题和名称中添加“文件名”和附件,这将强制显示打开/cance/保存对话框

代码语言:javascript
复制
response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);

//在响应头部中添加文件大小

代码语言:javascript
复制
response.AddHeader("Content-Length", file.Length.ToString());

//设置ContentType

代码语言:javascript
复制
response.ContentType = file.Extension.ToLower();

//将文件写入响应中(TransmitFile是针对ASP.NET 2.0的在ASP.NET 1.1中,您必须改用WriteFile )

代码语言:javascript
复制
response.TransmitFile(file.FullName);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15435789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档