文件上传,并存入数据库,然后显示,单击显示的结果则下载指定的文件。
比如上传了一个文件 aaa ,然后在显示的结果中单击 aaa 则实现下载 文件aaa的功能。
鄙人是新手,所以请尽量写的简单一点

解决方案 »

  1.   

    FileInfo Fi = new FileInfo(filePath);
    if (Fi.Exists)
    {
      FileStream fs = new FileStream(filePath, FileMode.Open);
      byte[] bytes = new byte[(int)fs.Length];
      fs.Read(bytes, 0, bytes.Length);
      fs.Close();
      Response.ContentType = "application/octet-stream";
      Response.AddHeader("Content-Disposition", "attachment; filename=1.excel");
      Response.BinaryWrite(bytes);
      Response.Flush();
      Response.End();
    }
    string path = Server.MapPath("~/") + "";
    Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(obj.Name, System.Text.Encoding.GetEncoding("utf-8")));
    Response.ContentType = "application/octet-stream";
    Response.WriteFile("" + path + "");
    Response.End();
    if (fileUpload.HasFile)  
      {  
      string savePath = Server.MapPath("~/upload/");  
      if(!System.IO.Directory.Exists(savePath))  
      {  
      System.IO.Directory.CreateDirectory(savePath);  
      }  
      savePath = savePath + "\\" + fileUpload.FileName;  
      fileUpload.SaveAs(savePath);  
      }  
     
     
      

  2.   

    参考:
    http://topic.csdn.net/u/20090819/15/cf431ac6-3bb9-4e22-9974-8ef4b7269d28.html
      

  3.   


     您的回复正文中有非法词或词组!http://download.csdn.net/source/933390
      

  4.   

    fileUpload.SaveAs(savePath);//上传
    Response.ContentType = "application/octet-stream";
                    Response.AddHeader("Content-Disposition", "attachment;filename=" + 文件名称);
                    response.WriteFile(Filepath);//下载   
      

  5.   

      把地址存在数据库里面。。下载直接格URL地址
      

  6.   

    参考:
    http://topic.csdn.net/u/20090819/15/cf431ac6-3bb9-4e22-9974-8ef4b7269d28.html
    就是拉几个控件写点烂代码,然后就O了.
      

  7.   

    --这是Js,验证格式(我这是'xls',‘xlsx')格式的)<script type="text/javascript">
        function checkFileExtension(elem) {
            var filePath = elem.value;        if(filePath.indexOf('.') == -1)
                return false;
            
            var validExtensions = new Array();
            var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase();   
          
            validExtensions[0] = 'xls';
            validExtensions[1] = 'xlsx';
        
            for(var i = 0; i < validExtensions.length; i++) {
                if(ext == validExtensions[i])
                    return true;
            }
            alert('后缀为:( ' + ext.toUpperCase() + ')的文件格式 无法导入!');
            return false;
        }
        </script>--后台  /// <summary>
        /// 上传
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            if (FileUpload1.HasFile)
            {
                
                string loadPath =Server.MapPath("../")+ ConfigurationSettings.AppSettings["ExcelFolder"];
                string fileName = Server.HtmlEncode(FileUpload1.FileName);
                if (!System.IO.Directory.Exists(loadPath))
                {
                    System.IO.Directory.CreateDirectory(loadPath);
                }
                string Extension = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);
                if (".xls.xlsx".ToUpper().IndexOf(Extension.ToUpper()) < 0)
                {
                    DisplayAlert("文件格式不正确!请选择(.xls.xlsx)格式的文件上传!");
                    return;
                }            Import_CounteractBLL bll = new Import_CounteractBLL();
               
                string filepath=loadPath + string.Format("{0}{1}", Guid.NewGuid().ToString(), Extension);            try
                {
                    if (System.IO.File.Exists(filepath))
                    {
                        System.IO.File.Delete(filepath);
                    }                FileUpload1.SaveAs(filepath);
                    DataTable dt = bll.LoadUpByExcel(filepath);//bll.LoadExcelData(0, path, 2, 1);
                    List<string> list = new List<string>();
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (list.Contains(string.Format("{0}", dr["OperationCode"]).Trim())) continue;
                        list.Add(string.Format("{0}", dr["OperationCode"]).Trim());
                    }
                    bool flag = bll.Counteract_Exsit(DateTime.Now, fileName,list.ToArray());
                    if (flag)
                    {
                        DisplayAlert("当天的数据已经存在!重新导入需先删除当天的数据!");
                        return;
                    }                bll.ImportData(string.Format("{0}", Session["userid"]), fileName, dt);
                    DisplayAlert(fileName + ":上传成功!");                //OutputDataGrid1.SortCondition = " Creatertime desc";
                    //OutputDataGrid1.Update();
                    Response.Redirect("CounteractManage.aspx");
                }
                catch (Exception xe)
                {
                    DisplayAlert(xe.Message);
                }
                finally {
                    System.IO.Directory.Delete(loadPath, true);
                }
            }
            else
            {
                DisplayAlert("请选择需要上传的文件!");
            }
        }//下载protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "DK")
            {
                string fileName = e.CommandArgument.ToString();
                string filePath = TxtExport + "\\" + fileName;
                if (File.Exists(filePath))
                {
                    FileInfo file = new FileInfo(filePath);
                    Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); //解决中文乱码
                    Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name)); //解决中文文件名乱码    
                    Response.AddHeader("Content-length", file.Length.ToString());
                    Response.ContentType = "appliction/octet-stream";
                    Response.WriteFile(file.FullName);
                    Response.End();
                }
            }
        }