(下载、打开)从服务器端将文件传送到客户端
2013-04-20 16:08
211 查看
前言: 有时候我们在网上点击下载或者打开(文件、视频、音频)按钮时就会弹出一个对话框,提示我们只打开还是保存。这就是客户端向服务器端发送请求,服务器端响应后把文件传送给客户端的过程。(纯属个人理解)
首先在buttonclick事件中调用传送给客户端的方法
protected void btnResponse_Click(object sender, EventArgs e)
{
string FileName=@"H:/demo.mp4" // 客户端请求一个视频文件
PostClient(FileName); // 把压缩文件推送给客户端 (相当于客户端下载)
}
然后响应到客户端的方法:
public void PostClient(string FileName)
{
// 若要 根据服务器上的文件名给发送给客户端的文件命名则把下面两行注释取消
// string[] strNames = FileName.Split('\\'); // 以“\”分割
// string relFileName = strNames[strNames.Length-1]; // 获得最后一个分割的字符串,即文件名
Stream fs = File.OpenRead(FileName);
byte[] buffer = new byte[fs.Length];
int offset = 0;
while (offset < buffer.LongLength)
{
offset += fs.Read(buffer, offset, buffer.Length - offset);
}
string relFileName = "a.mp4";
Response.AddHeader("content-disposition", "attachment;filename=" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-fff") + relFileName);
Response.BinaryWrite(buffer);
Response.Flush();
Response.End();
}
// 这样点击按钮时就能够在客户端看到一个打开或者保存的提示框了。。。。
首先在buttonclick事件中调用传送给客户端的方法
protected void btnResponse_Click(object sender, EventArgs e)
{
string FileName=@"H:/demo.mp4" // 客户端请求一个视频文件
PostClient(FileName); // 把压缩文件推送给客户端 (相当于客户端下载)
}
然后响应到客户端的方法:
public void PostClient(string FileName)
{
// 若要 根据服务器上的文件名给发送给客户端的文件命名则把下面两行注释取消
// string[] strNames = FileName.Split('\\'); // 以“\”分割
// string relFileName = strNames[strNames.Length-1]; // 获得最后一个分割的字符串,即文件名
Stream fs = File.OpenRead(FileName);
byte[] buffer = new byte[fs.Length];
int offset = 0;
while (offset < buffer.LongLength)
{
offset += fs.Read(buffer, offset, buffer.Length - offset);
}
string relFileName = "a.mp4";
Response.AddHeader("content-disposition", "attachment;filename=" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-fff") + relFileName);
Response.BinaryWrite(buffer);
Response.Flush();
Response.End();
}
// 这样点击按钮时就能够在客户端看到一个打开或者保存的提示框了。。。。
相关文章推荐
- 通过向服务器端发送get请求来让服务器端将其上的文件下载到客户端
- 为了在本机上测试,必须先安装memcache的服务器端,安装文件见附件,只能在Administrator用户下才能启动memcached服务。 首先要下载memcache的客户端java实现的jar
- VB.NET服务器端令客户端下载PDF文件
- C#将服务器端excel文件下载到客户端的简单方法
- 客户端下载文件和服务器端下载文件总结
- 如何下载文件时在客户端不打开,而是弹出保存
- Java客户端下载服务器端的文件
- 多客户端实现文件从服务器端下载文件--并行下载
- 解决把水晶报表下载到客户端过程中,出现下载整个页面(.aspx)或者直接载web页中打开word文件的问题!
- 如何将服务器端文件 自动下载并保存到客户端IE临时文件夹 或者指定文件夹
- 为什么客户端打开程序每次都自动下载launch.ica这个文件
- tomcat服务器端下载程序设置 content-disposition inline ,客户端 win7 ie8 中打开 word 附件,会提示安全框,要求输入凭据
- 在服务器端生成Excel文件后如何提供客户端下载 Response.Redirect()
- linux 客户端与linux服务器端连接与文件上传下载
- 基于cs实现客户端与服务器端的文件下载
- 使用rsync实现客户端与服务器端的文件同步与传送
- 多线程文件下载的服务器端及客户端
- java下载ftp服务器端文件直接打开
- jsp 实现文件下载到客户端并可直接打开或保存
- 客户端往服务器端传送文件