这篇文章主要介绍了ASP.NET实现推送文件到浏览器的方法,可实现将文件推送到浏览器供用户浏览或下载的功能,需要的朋友可以参考下
本文实例讲述了ASP.NET实现推送文件到浏览器的方法。分享给大家供大家参考。具体分析如下:
这里主要实现从服务器到浏览器,推送文件,提供用户下载/浏览的功能。
提示: 在AJAX UpdatePanel里面将无效。如果代码从按钮单击事件中被调用,该按钮需要在 AJAX UpdatePanel的外部。
/// <summary>
/// Downloads (pushes) file to the client browser.
/// **** NOTE **** Cannot be done from inside an AJAX UpdatePanel control.
/// </summary>
/// <param name="fullFilePath">The full file path of the file</param>
protected
void
DownloadFile(
string
fullFilePath)
{
// Gets the File Name
string
fileName = fullFilePath.Substring(fullFilePath.LastIndexOf(
'\\'
) + 1);
byte
[] buffer;
using
(FileStream fileStream =
new
FileStream(fullFilePath, FileMode.Open))
{
int
fileSize = (
int
)fileStream.Length;
buffer =
new
byte
[fileSize];
// Read file into buffer
fileStream.Read(buffer, 0, (
int
)fileSize);
}
Response.Clear();
Response.Buffer =
true
;
Response.BufferOutput =
true
;
Response.ContentType =
"application/x-download"
;
Response.AddHeader(
"Content-Disposition"
,
"attachment; filename="
+ fileName);
Response.CacheControl =
"public"
;
// writes buffer to OutputStream
Response.OutputStream.Write(buffer, 0, buffer.Length);
Response.End();
}
标签:
asp.net
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!