<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答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
        主站蜘蛛池模板: 亚洲精品乱码久久久久久V | 亚洲码欧美码一区二区三区| 国产成人精品免费久久久久| 国产亚洲人成网站观看| 中文在线免费看视频| 亚洲精品无码午夜福利中文字幕| 久久精品无码专区免费| 亚洲精品国产精品乱码在线观看 | 亚洲av无码专区在线电影| 日本人护士免费xxxx视频| 色费女人18女人毛片免费视频| 国产一区二区三区免费在线观看| 免费精品久久久久久中文字幕| 亚洲国产成人久久精品99 | 足恋玩丝袜脚视频免费网站| 亚洲男女一区二区三区| 久久精品网站免费观看| 日韩国产精品亚洲а∨天堂免| 亚洲av再在线观看| 丁香花在线视频观看免费| 亚洲精品一区二区三区四区乱码 | 亚洲国产精品免费观看 | 亚洲一区二区三区免费| 久久综合图区亚洲综合图区| 免费H网站在线观看的| 国产精品亚洲色图| 亚洲成AV人片天堂网无码| 免费专区丝袜脚调教视频| 国产成人人综合亚洲欧美丁香花 | 婷婷亚洲综合一区二区| 亚洲综合色自拍一区| 2021在线观看视频精品免费| 亚洲乱理伦片在线观看中字| 亚洲综合色在线观看亚洲| 9420免费高清在线视频| 欧洲亚洲综合一区二区三区| 久久亚洲国产精品| 免费**毛片在线播放直播 | 国产精品亚洲一区二区三区在线观看| 国产亚洲精午夜久久久久久| 一本岛高清v不卡免费一三区|