我用asp.net实现文件下载程序
用浏览器自带下载工具可以正常下载页面内连接的文件
但如果弹出迅雷下载界面时,总是在下载网址显示http://localhost:1989/FileDownload/Download.aspx
另存名称:Download.aspx下面是我的代码,请问如何修改,让使用迅雷也能正常下载对应文件protected void Page_Load(object sender, EventArgs e)
{
//获取共享的文件列表 //获取存放文件的目录
string directoryPath = Server.MapPath("~/Files/");
//创建目录对象
DirectoryInfo dir = new DirectoryInfo(directoryPath);
//获取目录下的所有文件
FileSystemInfo[] infos = dir.GetFileSystemInfos();
ListItem myitem;
//遍历文件集合,将所有的文件用Listbox显示
foreach (FileSystemInfo myfile in infos)
{
//创建一个Listitem新项
myitem = new ListItem();
myitem.Text = myfile.Name;
//包含完整路径的名称
myitem.Value = myfile.FullName;
//添加到列表中
ListBox1.Items.Add(myitem);
} }
protected void Button1_Click(object sender, EventArgs e)
{
//定义选中的文件的全名
string SelectName = ListBox1.SelectedItem.Value;
//获取文件的名字
string saveFileName = ListBox1.SelectedItem.Text;
//创建一个文件实体,方便对文件操作
FileInfo finfo = new FileInfo(SelectName);
//清空输出流
Response.Clear();
Response.Charset = "utf-8";
Response.Buffer = true;
//关闭ViewState以提高速度
this.EnableViewState = false;
//定义输出文件编码、类型和文件名
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + saveFileName);
//保存的文件类型不限,此处类型选择“unknown”。
Response.ContentType = "application/unknown"; ;
Response.WriteFile(SelectName);
//清空并关闭输出流
Response.Flush();
Response.Close();
Response.End(); }
用浏览器自带下载工具可以正常下载页面内连接的文件
但如果弹出迅雷下载界面时,总是在下载网址显示http://localhost:1989/FileDownload/Download.aspx
另存名称:Download.aspx下面是我的代码,请问如何修改,让使用迅雷也能正常下载对应文件protected void Page_Load(object sender, EventArgs e)
{
//获取共享的文件列表 //获取存放文件的目录
string directoryPath = Server.MapPath("~/Files/");
//创建目录对象
DirectoryInfo dir = new DirectoryInfo(directoryPath);
//获取目录下的所有文件
FileSystemInfo[] infos = dir.GetFileSystemInfos();
ListItem myitem;
//遍历文件集合,将所有的文件用Listbox显示
foreach (FileSystemInfo myfile in infos)
{
//创建一个Listitem新项
myitem = new ListItem();
myitem.Text = myfile.Name;
//包含完整路径的名称
myitem.Value = myfile.FullName;
//添加到列表中
ListBox1.Items.Add(myitem);
} }
protected void Button1_Click(object sender, EventArgs e)
{
//定义选中的文件的全名
string SelectName = ListBox1.SelectedItem.Value;
//获取文件的名字
string saveFileName = ListBox1.SelectedItem.Text;
//创建一个文件实体,方便对文件操作
FileInfo finfo = new FileInfo(SelectName);
//清空输出流
Response.Clear();
Response.Charset = "utf-8";
Response.Buffer = true;
//关闭ViewState以提高速度
this.EnableViewState = false;
//定义输出文件编码、类型和文件名
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + saveFileName);
//保存的文件类型不限,此处类型选择“unknown”。
Response.ContentType = "application/unknown"; ;
Response.WriteFile(SelectName);
//清空并关闭输出流
Response.Flush();
Response.Close();
Response.End(); }
http://topic.csdn.net/u/20090715/10/af055c50-eaf4-45c2-8ccd-74fe4410f166.html
参考
光用uploadfile控件能实现吗
大家有没现成的实例
谢谢提供
csdn的.net版块是我预计得太热闹
还是比我想象的热闹,跟了几个回复,帖子一下就沉了
不想SQL Server版,基本每个问题都能跟踪到问题解决
Label2.Text = " <a href= '" + 文件目录 + " '> 点击下载附件 </a> "