asp.net下载文件,文件名一直是页面的名字
时间: 2023-12-06 17:45:05 浏览: 148
在 ASP.NET 中,可以使用 Response 对象来下载文件,并且可以设置下载文件的文件名。以下是一个示例代码:
```csharp
string filePath = Server.MapPath("~/Files/yourfile.pdf");
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(Path.GetFileName(filePath)));
Response.WriteFile(filePath);
Response.End();
```
在上面的代码中,`filePath` 是要下载的文件的路径。`Response.ContentType` 设置了响应的内容类型为 `application/octet-stream`,这是二进制文件的通用 MIME 类型。`Response.AddHeader` 方法设置了文件名,并将 `Content-Disposition` 头设置为 `attachment`,表示将文件作为附件下载。`HttpUtility.UrlEncode` 方法用于对文件名进行 URL 编码,以便能够正确地传递文件名给客户端浏览器。
你需要将文件的实际路径替换为 `filePath`,并确保文件存在。
阅读全文