上传的文件如何下载? 我使用FileUpload上传了文件到我的根目录/upload下面,现在我想要搞个界面,如何显示出我已经上传的文件?并且允许用户把它下载下来?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不知道你的需求1.你可以把文件路径存入数据库呀。读取数据库路径2.使用IO读取/upload下的文件列表 你上传图片的时候,没有在数据库做标记吗?有的话,直接读出数据库的路径即可如果不想读也可以用Directory.GetFiles读出所有的文件还有个办法就是在iis,启动可访问目录的权限,用户可以直接在浏览器输入这个目录,即可浏览下面的文件后两种极不安全 这个是我的代码: protected void btnUpload_Click(object sender, EventArgs e) { if ((FileUpload1.PostedFile.FileName == "" && FileUpload2.PostedFile.FileName == "") && FileUpload3.PostedFile.FileName == "") { this.lblInformation.Text = "请选择文件!"; } else { HttpFileCollection myfiles = Request.Files; for (int i = 0; i < myfiles.Count; i++) { HttpPostedFile mypost = myfiles[i]; try { if (mypost.ContentLength > 0) { string filepath = mypost.FileName; string filename = filepath.Substring(filepath.LastIndexOf("//") + 1); //下面代码显示不支持给定路径的格式。 //string serverpath = Server.MapPath("../images/") + filename; string serverpath = Server.MapPath("~/images/" + System.IO.Path.GetFileName(mypost.FileName)); mypost.SaveAs(serverpath); this.lblInformation.Text = "上传成功!"; } } catch (Exception error) { this.lblInformation.Text = "上传发生错误!原因:" + error.ToString(); } } } byte[] data = File.ReadAllBytes(Server.MapPath("upload/" + Filename));//文件路径 Response.ClearContent(); Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", ":attachment;filename=" + System.Web.HttpUtility.UrlEncode(Filename, System.Text.Encoding.UTF8)); Response.BinaryWrite(data); Response.End(); 给你思路,希望有帮助。上传的时候,将文件名、保存的路径(相对路径、绝对路径)等保存在数据库中。下载:页面展现的时候从数据库中将已上传文件名显示在Grid列表中。然后通过http直接下载你的文件,就相当于访问页面一样。 如何判断ViewState是否包含某个字段 大家进开看下呗 登陆与注册中发生错误。 利用传入参数经行数据库操作 asp.net 如何减少viewstate的内容 关于ASP.NET的安装问题,在线等待.... 用什么控件可以显示分段的纯文本 那里有关于ASP.NET动态创建图象的资料啊? About Crystal Report,Saucer and others ,thanks! 在函数内部用using,是什么意思 请问使用数据库事务如何解决代码冗余的问题?
2.使用IO读取/upload下的文件列表
{
if ((FileUpload1.PostedFile.FileName == "" && FileUpload2.PostedFile.FileName == "") && FileUpload3.PostedFile.FileName == "")
{
this.lblInformation.Text = "请选择文件!";
}
else
{
HttpFileCollection myfiles = Request.Files;
for (int i = 0; i < myfiles.Count; i++)
{
HttpPostedFile mypost = myfiles[i];
try
{
if (mypost.ContentLength > 0)
{
string filepath = mypost.FileName;
string filename = filepath.Substring(filepath.LastIndexOf("//") + 1);
//下面代码显示不支持给定路径的格式。
//string serverpath = Server.MapPath("../images/") + filename;
string serverpath = Server.MapPath("~/images/" + System.IO.Path.GetFileName(mypost.FileName));
mypost.SaveAs(serverpath);
this.lblInformation.Text = "上传成功!";
}
}
catch (Exception error)
{
this.lblInformation.Text = "上传发生错误!原因:" + error.ToString();
}
}
}
Response.ClearContent();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", ":attachment;filename=" + System.Web.HttpUtility.UrlEncode(Filename, System.Text.Encoding.UTF8));
Response.BinaryWrite(data);
Response.End();
上传的时候,将文件名、保存的路径(相对路径、绝对路径)等保存在数据库中。
下载:页面展现的时候从数据库中将已上传文件名显示在Grid列表中。然后通过http直接下载你的文件,就相当于访问页面一样。