欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

asp.net利用ashx文件實現(xiàn)文件的上傳功能

 更新時間:2019年11月28日 08:33:55   作者:HerryDong  
這篇文章主要介紹了asp.net利用ashx文件實現(xiàn)文件的上傳功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

原來以為文件上傳是一個比較簡單的功能,結果搞了一個晚上才搞定~這里主要介紹兩種方法實現(xiàn)。

方法一:Form表單提交

html代碼:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>上傳文件</title>
  <script src="Scripts/jquery-1.11.3.min.js"></script>
</head>
<body>
  <form action="UploadHandler.ashx" method="post" enctype="multipart/form-data">
    <input id="file_upload" name="file_upload" type="file" />
    <input id="btn_upload" type="submit" value="上傳" />
  </form>
</body>
</html>

UploadHandler.ashx代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1
{
  /// <summary>
  /// UploadHandler 的摘要說明
  /// </summary>
  public class UploadHandler : IHttpHandler
  {
    public void ProcessRequest(HttpContext context)
    {
      context.Response.ContentType = "text/plain";

      HttpPostedFile file = context.Request.Files["file_upload"];
      string filePath = context.Server.MapPath("~/UploadFiles/") + System.IO.Path.GetFileName(file.FileName);
      file.SaveAs(filePath);

      context.Response.Write("上傳文件成功");
    }

    public bool IsReusable
    {
      get
      {
        return false;
      }
    }
  }
}

該方法雖然能夠實現(xiàn)文件的上傳,但是form表單提交之后整個頁面就刷新了,如果要無刷新上傳文件的話,就要使用ajax了。

方法二:jquery + ajax無刷上傳

html代碼:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>上傳文件</title>
  <script src="Scripts/jquery-1.11.3.min.js"></script>
</head>
<body>
  <input id="file_upload" name="file_upload" type="file" />
  <input id="btn_upload" type="button" value="上傳" />

  <script>
    $(document).ready(function ()
    {
      $('#btn_upload').bind('click', function ()
      {
        var formData = new FormData();
        formData.append('upload_file', $('#file_upload')[0].files[0]);
        $.ajax({
          url: 'UploadHandler.ashx',
          type: 'post',
          data: formData,
          contentType: false,
          processData: false,
          success: function (msg)
          {
            if (msg == "Yes")
            {
              alert('文件上傳成功');
            }
            else
            {
              alert('文件上傳失敗');
            }
          }
        })
      });
    });
  </script>
</body>
</html>

UploadHandler.ashx代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1
{
  /// <summary>
  /// UploadHandler 的摘要說明
  /// </summary>
  public class UploadHandler : IHttpHandler
  {

    public void ProcessRequest(HttpContext context)
    {
      context.Response.ContentType = "text/plain";

      if (context.Request.Files.Count > 0)
      {
        HttpPostedFile file = context.Request.Files["upload_file"];
        string filePath = context.Server.MapPath("~/UploadFiles/") + System.IO.Path.GetFileName(file.FileName);
        file.SaveAs(filePath);
        context.Response.Write("Yes");
      }
      else
      {
        context.Response.Write("No");
      }
    }

    public bool IsReusable
    {
      get
      {
        return false;
      }
    }
  }
}

個人更推薦方法二,運行結果如下圖所示:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • ASP.Net Core中使用枚舉類而不是枚舉的方法

    ASP.Net Core中使用枚舉類而不是枚舉的方法

    這篇文章主要給大家介紹了關于ASP.Net Core中使用枚舉類而不是枚舉的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用ASP.Net Core具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • .NET?Core項目使用swagger開發(fā)組件

    .NET?Core項目使用swagger開發(fā)組件

    這篇文章介紹了.NET?Core項目使用swagger開發(fā)組件的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • asp.net中用DataReader高效率分頁

    asp.net中用DataReader高效率分頁

    自從用Sql2005版本以后一直用ROW_NUMBER()分頁,最近一個項目維護sqlserver是2000,沒辦法重寫了分頁。寫完測試分析比ROW_NUMBER()明顯快啊
    2011-09-09
  • 如何實現(xiàn)ListView高效分頁代碼

    如何實現(xiàn)ListView高效分頁代碼

    ListView選擇自動分頁時 其實就是添加了一個DataPager分頁控件兩者間存在著嵌套關系《Repeater與ListView》中提到這樣的分頁并不是高效的 因為數(shù)據(jù)源還是返回了所有的數(shù)據(jù) 而非當前頁數(shù)據(jù)
    2013-02-02
  • .NET 緩存設計的使用說明

    .NET 緩存設計的使用說明

    緩存是提高應用程序性能的最好方法之一。運用緩存可以優(yōu)化數(shù)據(jù)查詢,避免不必要的網(wǎng)絡數(shù)據(jù)回傳,和避免執(zhí)行不必要的完全相同的數(shù)據(jù)處理邏輯。
    2013-03-03
  • ASP.NET抓取網(wǎng)頁內容的實現(xiàn)方法

    ASP.NET抓取網(wǎng)頁內容的實現(xiàn)方法

    這篇文章主要介紹了ASP.NET抓取網(wǎng)頁內容的實現(xiàn)方法,涉及使用HttpWebRequest及WebResponse抓取網(wǎng)頁內容的技巧,需要的朋友可以參考下
    2015-02-02
  • 在.Net?Framework應用中請求HTTP2站點的問題解析

    在.Net?Framework應用中請求HTTP2站點的問題解析

    隨著各大瀏覽器支持和蘋果的帶頭效應,HTTP2的應用會越來越廣泛,但是規(guī)模龐大的.NET?Framework應用卻也不能為了連接HTTP2就升級到NET?Core平臺。通過本文提供的方案,可以最小成本的實現(xiàn).NET?Framework應用成功訪問HTTP2站點,感興趣的朋友跟隨小編一起看看吧
    2022-07-07
  • ASP.NET Forms身份認證

    ASP.NET Forms身份認證

    asp.net程序中,用戶可以根據(jù)角色訪問對應頁面以及功能。本文將對此進行介紹,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • ASP.NET Core 數(shù)據(jù)保護(Data Protection)中篇

    ASP.NET Core 數(shù)據(jù)保護(Data Protection)中篇

    這篇文章主要為大家再一次介紹了ASP.NET Core 數(shù)據(jù)保護(Data Protection),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • asp.net GridView 中增加記錄的方法

    asp.net GridView 中增加記錄的方法

    在 ASP.NET 2.0 中,GridView 支持修改/刪除記錄,但卻不支持新增記錄的功能(個人感覺是 GridVew 的一大缺憾,估計在下一版本中會加入此功能)
    2009-03-03

最新評論