• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    表單上傳功能實現 ajax文件異步上傳

    來源:懂視網 責編:小采 時間:2020-11-27 22:51:37
    文檔

    表單上傳功能實現 ajax文件異步上傳

    表單上傳功能實現 ajax文件異步上傳:項目中用戶上傳總是少不了的,下面就主要的列舉一下表單上傳和ajax上傳!注意: context.Request.Files不適合對大文件進行操作,下面列舉的主要對于小文件上傳的處理! 資源下載: 一、jQuery官方下載地址:https://jquery.com/downloa
    推薦度:
    導讀表單上傳功能實現 ajax文件異步上傳:項目中用戶上傳總是少不了的,下面就主要的列舉一下表單上傳和ajax上傳!注意: context.Request.Files不適合對大文件進行操作,下面列舉的主要對于小文件上傳的處理! 資源下載: 一、jQuery官方下載地址:https://jquery.com/downloa

    項目中用戶上傳總是少不了的,下面就主要的列舉一下表單上傳和ajax上傳!注意: context.Request.Files不適合對大文件進行操作,下面列舉的主要對于小文件上傳的處理!

    資源下載:

    一、jQuery官方下載地址:https://jquery.com/download/ 

    一.表單上傳:

    html客戶端部分:

    <form action="upload.ashx" method="post" enctype="multipart/form-data">
     選擇文件:<input type="file" name="file1" /><br />
     <input type="submit" value="上傳" />
     </form>
    

    一般處理程序服務器端:

    public void ProcessRequest(HttpContext context)
     {
     context.Response.ContentType = "text/plain";
     HttpPostedFile file1 = context.Request.Files["file1"];
     helper.uploadFile(file1, "~/upload/");//這里就是對相應方法進行調用
     context.Response.Write("ok");//提示執行成功
     }
    

    上傳代碼的封裝:

    /// <summary>
     /// 上傳圖片
     /// </summary>
     /// <param name="file">通過form表達提交的文件</param>
     /// <param name="virpath">文件要保存的虛擬路徑</param>
     public static void uploadImg(HttpPostedFile file,string virpath)
     { 
     if (file.ContentLength > 1024 * 1024 * 4)
     {
     throw new Exception("文件不能大于4M");
     }
     string imgtype = Path.GetExtension(file.FileName);
     if(imgtype!=".jpg"&&imgtype!=".jpeg") //圖片類型進行限制
     {
     throw new Exception("請上傳jpg或JPEG圖片");
     }
     using (Image img = Bitmap.FromStream(file.InputStream))
     {
     string savepath = HttpContext.Current.Server.MapPath(virpath+file.FileName);
     img.Save(savepath);
     }
     }
     /// <summary>
     /// 上傳文件
     /// </summary>
     /// <param name="file">通過form表達提交的文件</param>
     /// <param name="virpath">文件要保存的虛擬路徑</param>
     public static void uploadFile(HttpPostedFile file, string virpath)
     {
     if (file.ContentLength > 1024 * 1024 * 6)
     {
     throw new Exception("文件不能大于6M");
     }
     string imgtype = Path.GetExtension(file.FileName);
     //imgtype對上傳的文件進行限制
     if (imgtype != ".zip" && imgtype != ".mp3")
     {
     throw new Exception("只允許上傳zip、rar....文件");
     }
     string dirFullPath= HttpContext.Current.Server.MapPath(virpath);
     if (!Directory.Exists(dirFullPath))//如果文件夾不存在,則先創建文件夾
     {
     Directory.CreateDirectory(dirFullPath);
     }
     file.SaveAs(dirFullPath + file.FileName);
     }
    
    

    二.Ajax文件異步上傳:

    注明:既然有了表單上傳為什么又要ajax上傳呢?因為表單上傳過程中,整個頁面就刷新了!ajax異步上傳就可以達到只刷新局部位置,下面就簡單看看ajax上傳吧!

    html客戶端部分:

    <head> 
    <script src="jquery-2.1.4.js"></script>
     <script>
     $(function () {
     $("#upload").click(function () {
     $("#imgWait").show();
     var formData = new FormData();
     formData.append("myfile", document.getElementById("file1").files[0]); 
     $.ajax({
     url: "upload.ashx",
     type: "POST",
     data: formData,
     /**
     *必須false才會自動加上正確的Content-Type
     */
     contentType: false,
     /**
     * 必須false才會避開jQuery對 formdata 的默認處理
     * XMLHttpRequest會對 formdata 進行正確的處理
     */
     processData: false,
     success: function (data) {
     if (data.status == "true") {
     alert("上傳成功!");
     }
     if (data.status == "error") {
     alert(data.msg);
     }
     $("#imgWait").hide();
     },
     error: function () {
     alert("上傳失敗!");
     $("#imgWait").hide();
     }
     });
     });
     });
     </script>
    </head>
    <body> 
     選擇文件:<input type="file" id="file1" /><br />
     <input type="button" id="upload" value="上傳" />
     <img src="wait.gif" style="display:none" id="imgWait" /> 
    </body>
    
    
    

    一般處理程序服務器端:

    public void ProcessRequest(HttpContext context)
     {
     context.Response.ContentType = "text/html";
     if (context.Request.Files.Count > 0)
     {
     HttpPostedFile file1 = context.Request.Files["myfile"];
     helper.uploadFile(file1, "~/upload/"); //這里引用的是上面封裝的方法
     WriteJson(context.Response, "true", "");
     }
     else
     {
     WriteJson(context.Response, "error", "請選擇要上傳的文件");
     }
     }

    json代碼封裝:

    public static void WriteJson(HttpResponse response,
     string status1, string msg1, object data1 = null)
     {
     response.ContentType = "application/json";
     var obj = new { status = status1, msg = msg1, data = data1 };
     string json = new JavaScriptSerializer().Serialize(obj);
     response.Write(json);
     }
    

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    表單上傳功能實現 ajax文件異步上傳

    表單上傳功能實現 ajax文件異步上傳:項目中用戶上傳總是少不了的,下面就主要的列舉一下表單上傳和ajax上傳!注意: context.Request.Files不適合對大文件進行操作,下面列舉的主要對于小文件上傳的處理! 資源下載: 一、jQuery官方下載地址:https://jquery.com/downloa
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 少妇人妻偷人精品无码视频新浪| 亚洲精品无码乱码成人| 天天视频国产精品| 四虎国产精品永久地址49| 亚洲欧美精品丝袜一区二区| 99久久伊人精品综合观看| 99久久精品费精品国产一区二区| 亚洲精品亚洲人成在线观看| 国产在线精品一区免费香蕉| 午夜精品美女自拍福到在线| 97久久精品人妻人人搡人人玩| 亚洲精品无码成人片久久| 欧美成人精品欧美一级乱黄码| 国产精品1024视频| 在线人成精品免费视频| 久久99精品国产99久久| 东京热TOKYO综合久久精品| 久久亚洲美女精品国产精品| 亚洲精品无码久久毛片| 四虎亚洲国产成人久久精品| 欧美日激情日韩精品| 国产成人vr精品a视频| 色偷偷88888欧美精品久久久 | 四虎影视国产精品亚洲精品hd| 精品无码AV无码免费专区| 亚洲日韩精品射精日| 合区精品中文字幕| 久久久亚洲精品蜜桃臀| 国产精品小黄鸭一区二区三区| 影视网欧洲精品| 欧美黑人巨大精品| 亚洲精品高清视频| 久久精品国产半推半就| 久久福利青草精品资源站免费| 国产成人精品日本亚洲专| 2020久久精品国产免费| 国产精品嫩草影院AV| 97精品一区二区视频在线观看 | 惠民福利中文字幕人妻无码乱精品| 久久成人影院精品777| 欧美精品888|