国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現(xiàn)附件上傳和下載功能

2020-01-24 01:24:07
字體:
供稿:網(wǎng)友

通常情況下,我們會遇到各種上傳附件的情況,以及上傳后需要下載,文檔格式各種各樣,當然這個過程中也是報不同錯誤,還是一個原則,具體問題,具體分析:需求圖:

上傳代碼實現(xiàn):
 aspx代碼:

 <asp:Panel ID="Panel5" runat="server">   <fieldset>   <legend>整體活動效果:</legend>   <nav class="navbar navbar-default" role="navigation">    <table cellspacing="0" class="table table-hover" border="0" style="border-collapse: collapse;">    <tbody>     <tr>     <td><strong>需求單名稱</strong></td>     <td colspan="2">      <strong>添加附件</strong>     </td>     <td>附件名稱</td>     </tr>     <tr>     <td><asp:Literal ID="LtOrder" runat="server"></asp:Literal></td>     <td>     <asp:Button style="margin-right: -55px;" ID="btnImport" runat="server" Text="添加附件" class="btn btn-default" OnClick="btnImport_Click" /></td>     <td class="Up_file">      <asp:FileUpload ID="UpLoadTxt" runat="server" class="form-control" />     </td>     <td>      <asp:Literal ID="LAccessory" runat="server"></asp:Literal>     </td>     </tr>    </tbody>    </table>   </nav>   </fieldset>  </asp:Panel>

cs代碼:  

#region///上傳,文件名稱添加數(shù)據(jù)庫,文件保存相應路徑 /// <summary> /// 添加附件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnImport_Click(object sender, EventArgs e) {  string res = "0";  string fileName = UpLoadTxt.FileName;//獲取要導入的文件名   if (fileName == null || fileName == "")  {  res = "2";  }  else  {  string savePath = Server.MapPath("~/UploadFiles/ChatLog/");  FileOperatpr(fileName, savePath);  string url = savePath + fileName;  UpLoadTxt.SaveAs(url);  SqlConnection conn = SqlHelperEx.ConnOpen("SPSDB");  string ExtName = getFileExt(fileName).ToUpper();//獲取上傳文件名稱  // string ENDNmae = getFileEND(fileName).ToUpper(); //后綴名  id = Request["id"];  res = GetAccessory(conn, fileName, id);  SqlHelperEx.ConnClose(conn);  }  if (res == "2")  {  Response.Write("<script>alert('沒有要添加的文件,請選中文件后再操作!');window.location.href='SNSNeedingOrder_InfoListView.aspx?id=" + Request["id"] + "';</script>");  }  if (res == "0")  {  Response.Write("<script>alert('添加失敗!');window.location.href='SNSNeedingOrder_InfoListView.aspx?id=" + Request["id"] + "';</script>");  }  if(res=="1") {  Response.Write("<script>alert('添加成功!');window.location.href='SNSNeedingOrder_InfoListView.aspx?id=" + Request["id"] + "';</script>");  }  if (res == "3")  {  Response.Write("<script>alert('沒有需求單,非法操作!');window.location.href='SNSNeedingOrder_InfoListView.aspx?id=" + Request["id"] + "';</script>");  } } #region 輔助功能 /// <summary> /// 獲取上傳文件的后綴名 /// </summary> /// <param name="fileName"></param> /// <returns></returns> private string getFileEND(string fileName) {  if (fileName.IndexOf(".") == -1)  return "";  string[] temp = fileName.Split('.');  return temp[temp.Length - 1].ToLower(); } /// <summary> /// //獲取上傳文件的名稱 /// </summary> /// <param name="fileName"></param> /// <returns></returns> private string getFileExt(string fileName) {  if (fileName.IndexOf(".") == -1)  return "";  string file = "";  string[] temp = fileName.Split(new[] { "." }, StringSplitOptions.RemoveEmptyEntries);  file = temp[0].ToLower(); return file.ToLower(); }  private void FileOperatpr(string fileName, string savePath) {  if (!Directory.Exists(savePath))  {  Directory.CreateDirectory(savePath);  }  if (File.Exists(savePath + fileName))  {  File.Delete(savePath + fileName);  } }  #endregion  /// <summary> /// 添加文件名 /// </summary> /// <param name="conn"></param> /// <param name="filename"></param> /// <param name="id"></param> private string GetAccessory(SqlConnection conn, string filename, string id) {  string res = "0";  if (id == "0" || id == "" || id == null)  {  res = "3";  }  else  {  if (filename == null || filename == "")  {   res = "2";  }  else  {   string strOrderID = id;   string strFileName = filename;  string strCreateUserId = Session["UserName"].ToString();   StringBuilder strSql = new StringBuilder();   // 生成SQL語句;   strSql.AppendFormat("INSERT INTO BaseSNSAccessory(OrderID,FileName,CreateUserId) values( {0}", Environment.NewLine);   strSql.AppendFormat(" @OrderID,@FileName,@CreateUserId) {0}", Environment.NewLine);   SqlParameter[] parameters = {      new SqlParameter("@OrderID", strOrderID),      new SqlParameter("@FileName", strFileName),      new SqlParameter("@CreateUserId", strCreateUserId),      };   // 執(zhí)行   int result = SqlHelperEx.ExecuteNonQuery(strSql.ToString(), conn, parameters);   // 返回   SqlHelperEx.ConnClose(conn);  if (result == 1)   {   res = "1";   }   else   {   res = "0";   }  }  }  return res; } #endregion

下載實現(xiàn):

 /// <summary> /// 獲取附件 /// </summary> /// <param name="conn"></param> /// <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 = "無數(shù)據(jù)";  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(); // 清楚緩沖區(qū)所有內(nèi)容  //Response.ClearHeaders(); // 清楚緩沖區(qū)所有頭  //Response.ContentType = "application/octet-stream"; // 設置輸出流的Http MIME類型  ////通知瀏覽器下載文件而不是打開  //Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); //fileName為需要下載的文件名  //Response.BinaryWrite(bytes); // 寫入輸入流  //Response.Flush(); // 向客戶端發(fā)送數(shù)據(jù)流  //Response.End(); }

以上就是為大家分享的C#實現(xiàn)附件上傳和下載功能的關鍵代碼,希望對大家的學習有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 舞阳县| 河间市| 西盟| 巴中市| 迁安市| 祥云县| 静宁县| 内黄县| 台东县| 东海县| 宜宾县| 宿松县| 宁海县| 绥化市| 石泉县| 元阳县| 中方县| 松溪县| 清徐县| 宽城| 林口县| 富川| 襄樊市| 东山县| 甘洛县| 乌拉特中旗| 上饶县| 当雄县| 江津市| 合江县| 菏泽市| 武宣县| 托里县| 宝鸡市| 浦江县| 新和县| 新干县| 五大连池市| 夏津县| 绿春县| 张家界市|