C#实现附件上传和下载功能

2019-12-30 10:59:47丽君
  • /// <param name="id"></param>  public void GetAccessory(SqlConnection conn, string id) 
  • {  string strsql = "SELECT *,(SELECT OrderName FROM Order_Info WHERE IsValid=1 AND id=bs.OrderID AND IsValid=1) AS OrderName FROM BaseSNSAccessory AS bs WHERE bs.IsValid=1 and bs.OrderID="+id+" ORDER BY bs.id DESC"; 
  • DataTable dt = SqlHelperEx.GetDataTable(strsql, conn);  if (dt.Rows.Count == 0) 
  • {  Ltlog.Text = "无数据"; 
  • return;  } 
  • string fileName = "";  string str = ""; 
  • for (int i = 0; i < dt.Rows.Count; i++)  { 
  • fileName = dt.Rows[i]["FileName"].ToString();  str += "<tr height="36" bgcolor="#FFFFFF">"; 
  • str += "<td>" + dt.Rows[i]["OrderName"].ToString() + "</td>";  str += "<td> <a href='/EcBossWeb/UploadFiles/ChatLog/" + fileName + "' >点击下载:" + fileName + "</a></td>"; 
  • str += " </tr>";  } 
  • LtOrdersory.Text = str.ToString();   
  • //string filePath = "";   
  • //FileStream fs = new FileStream(filePath, FileMode.Open); // 设置文件流,filePath为文件路径  //byte[] bytes = new byte[(int)fs.Length]; 
  • //fs.Read(bytes, 0, bytes.Length); // 读取  //fs.Close(); 
  • //Response.ClearContent(); // 清楚缓冲区所有内容  //Response.ClearHeaders(); // 清楚缓冲区所有头 
  • //Response.ContentType = "application/octet-stream"; // 设置输出流的Http MIME类型  ////通知浏览器下载文件而不是打开 
  • //Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); //fileName为需要下载的文件名  //Response.BinaryWrite(bytes); // 写入输入流