下载功能怎样实现,说说思路,求实例或源码
解决方案 »
- 用js创建一个asp.net控件,这样创建怎么弄不出来呢?
- 要做B/S系统的软件产品,有两点不确定:权限模块、验证方式 和数据层的问题,请有经验的朋友进来聊聊~
- 如何动态加载如下的列表
- 我是新手,请高手帮忙,急啊
- 把数据库中的word文档输出到网页时出错。请高手指点
- 在线等 名称以无效字符开头。处理资源 'file:///E:/查询/WebSite1/xg.aspx' 时出错。第 1 行,位置: 2
- JavaScript和ASP.NET的传值
- win2000 prefessional下为何更新不了mdac ,装了2.8仍提示当前版本为2.5?
- .NET能调用FTP功能吗?如何实现?
- DATAGRID在页脚添加了统计功能,但是一运行编辑功能就报错!
- 闪动
- 作关系图用什么工具
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
string filePath = "D:\\test.xls";
// filePath = "D:\\test.xls";
System.IO.FileStream fs = System.IO.File.OpenRead( filePath );
byte[] FileData = new byte[fs.Length];
fs.Read( FileData, 0, (int)(fs.Length) );
fs.Close(); Response.AddHeader( "Content-Type", "application/vnd.ms-excel" );
string saveAsFileName = "YourSaveAsFileName";
saveAsFileName = Encode(saveAsFileName);
//saveAsFileName = HttpUtility.UrlDecode(saveAsFileName, System.Text.Encoding.GetEncoding("SHIFT-JIS"));
Response.AddHeader("Content-Disposition", "inline;filename=" + saveAsFileName); Response.AddHeader("Content-Length", FileData.Length.ToString() );
Response.BinaryWrite( FileData );
Response.End();
}
}
inline 改为 attachment 是下载另存。inline 是直接打开。
注意不同类型文件的 "Content-Type" 是不一样的。还有一种下载方式是,直接把文件的location作为href。点击就会下载。
<a href="文件路径"></a>
我测试过 可是实现
<a href="文件路径"></a>
直接这样就可以下载了
public static void DownLoadFile( string filepath )
{
string str = HttpContext.Current.Request.ServerVariables[ "APPL_PHYSICAL_PATH" ];
string path = str + "所需的文件夹\\" + filepath;
FileInfo file = new FileInfo( path );
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding( "UTF-8" ); //解决中文乱码
HttpContext.Current.Response.AddHeader( "Content-Disposition", "attachment; filename=" + HttpContext.Current.Server.UrlEncode( file.Name ) ); //解决中文文件名乱码
HttpContext.Current.Response.AddHeader( "Content-length", file.Length.ToString() );
HttpContext.Current.Response.ContentType = "appliction/octet-stream";
HttpContext.Current.Response.WriteFile( file.FullName );
HttpContext.Current.Response.End();
}
<a href="a.dco">点击下载</a>