我有以下代码
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
Textbox1.text是包含扩展名的pdf的名称。这是正常工作,除了pdf的文件名更改为我称之为的网页的名称。 c:\ pdfs中的pdf名称保持不变。
我可以阻止它更改名称。
答案 0 :(得分:3)
将Response.TransmitFile更改为
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();
答案 1 :(得分:1)
如果需要,可以继续使用Transferfile,但这样。
FileInfo file = new FileInfo(filePath);
// LINE1:添加" 文件名"和附件,它将强制打开/取消/保存对话框显示标题和名称
response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
//将文件大小添加到响应标头
中response.AddHeader("Content-Length", file.Length.ToString());
//设置ContentType
response.ContentType = file.Extension.ToLower();
//将文件写入响应(TransmitFile用于ASP.NET 2.0。在ASP.NET 1.1中,您必须使用WriteFile)
response.TransmitFile(file.FullName);