如此简单 代码如下利用response下载
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
String directoryPath = Server.MapPath("upload/");
DirectoryInfo dir = new DirectoryInfo(directoryPath);
FileSystemInfo[] infos = dir.GetFileSystemInfos();
ListItem myitem;
foreach (FileSystemInfo myfile in infos)
{
myitem = new ListItem();
myitem.Text = myfile.Name;
myitem.Value = myfile.FullName;
ListBox1.Items.Add(myitem);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Boolean fileok = false;
String path = Server.MapPath("upload/");
if (FileUpload1.HasFile)
{
String fileextension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
String[] allowedextensions ={ ".txt", ".doc", ".xml", ".jpg" };
for (int i = 0; i < allowedextensions.Length; i++)
{
if (fileextension == allowedextensions[i])
{
fileok = true;
}
}
if (FileUpload1.PostedFile.ContentLength > 1024000)
{
fileok = false;
}
if (fileok)
{
try
{
FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
Label1.Text = "上传成功!";
}
catch (Exception ex)
{
Label1.Text = "无法上传!"+ex.Message;
}
}
else
{
Label1.Text = "文件类型不对或文件超出1M";
}
}
}
protected void Button2_Click(object sender, EventArgs e)
{
String selectname = ListBox1.SelectedItem.Value;
String savafileName = ListBox1.SelectedItem.Text;
FileInfo finfo = new FileInfo(selectname);
Response.Clear();
Response.Charset = "utf-8";
Response.Buffer = true;
this.EnableViewState = false;
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + savafileName);
Response.ContentType = "application/unknown";
Response.WriteFile(selectname);
Response.Flush();
Response.Close();
Response.End();
}
}
==========================
界面设计如下
![](http://hiphotos.baidu.com/freezesoul/pic/item/b8b909d19f599ed7572c84b7.jpg)