我使用FileUpload上传了文件到我的根目录/upload下面,现在我想要搞个界面,如何显示出我已经上传的文件?并且允许用户把它下载下来?谢谢!

解决方案 »

  1.   

    不知道你的需求1.你可以把文件路径存入数据库呀。读取数据库路径
    2.使用IO读取/upload下的文件列表
      

  2.   

    你上传图片的时候,没有在数据库做标记吗?有的话,直接读出数据库的路径即可如果不想读也可以用Directory.GetFiles读出所有的文件还有个办法就是在iis,启动可访问目录的权限,用户可以直接在浏览器输入这个目录,即可浏览下面的文件后两种极不安全
      

  3.   

    这个是我的代码: 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();
                    }
                }
            }
      

  4.   

                    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();
      

  5.   

    给你思路,希望有帮助。
    上传的时候,将文件名、保存的路径(相对路径、绝对路径)等保存在数据库中。
    下载:页面展现的时候从数据库中将已上传文件名显示在Grid列表中。然后通过http直接下载你的文件,就相当于访问页面一样。