string filepath = Server.MapPath("../data/data.pdf");
//得到文件路径
string filename = GetFileName(filepath);
//得到文件名
//=========下面就看不懂了======================================================
FileStream filestream = new FileStream(filepath,FileMode.Open);
long filesize = filestream.Length;
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition","attachment; filename=\"" + filename + "\";");
Response.AddHeader("Content-Length",filesize.ToString());
//设置相应头和要保存的文件名byte[] filebuffer = new byte[filesize];
filestream.Read(filebuffer,0,(int)filesize);
Response.BinaryWrite(filebuffer);
//下载文件Response.End();
解决方案 »
- 取出checkbox
- 上传图片的一个问题
- 如何通过一个页面的不同按钮打开显示另一个页面的不同的Panel?请指教!
- FireFox <a title="title过长有问题">123</a> 的问题 title内容过长给切断用...替换
- Datagrid显示数据的问题
- 请问c#写的webservice php可以调用吗
- 使用 SQL Server数据库搜索语句咱们写才能真正搜索到东西。另外良好的搜索系统是怎么Code出来的?
- 请问 论坛,一般是按照什么排序的呢?刚发的时候,好像是按时间,又好像是按回复数,这些贴子是怎么排序啊?
- 在ASP.NET的应用程序中显示XML文档出现乱码
- 請問思歸等高手 把Text Field 轉化成服務器控件 給它賦值 但它還是為空
- 急问:水晶报表导出问题
- 在aspx页面中不能解释<%=%>的问题
long filesize = filestream.Length;//取得文件的长度
//下面三行是为了能让客户端浏览器正确识别这个文件的类型和文件大小
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition","attachment; filename=\"" + filename + "\";");
Response.AddHeader("Content-Length",filesize.ToString());//将文件中的数据发送到客户端
byte[] filebuffer = new byte[filesize];
filestream.Read(filebuffer,0,(int)filesize);
Response.BinaryWrite(filebuffer);//结束这个请求
Response.End();