国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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
主站蜘蛛池模板: 日韩精品第二页 | 成人国产激情福利久久精品 | 国产不卡精品一区二区三区 | 亚欧乱色视频网站大全 | 欧美 日韩 中文字幕 | 午夜看一级特黄a大片黑 | 国产 欧美 日韩 在线 | 国产精品视频免费一区二区三区 | 国产人成精品综合欧美成人 | 国产在线播放免费 | 一区二区三区四区电影 | 91在线 一区 二区三区 | 国内精品视频在线播放 | 欧美第三页| 国产亚洲精品成人婷婷久久小说 | 中文字幕韩国电影 | 91久热| 国产123区在线视频观看 | 久久亚洲精品国产亚洲老地址 | 免费国产最新进精品视频 | 亚洲国产日韩欧美在线as乱码 | 亚洲午夜久久久久久91 | 国产第一页精品 | 人与鲁牲交持级毛片 | 亚洲网站免费观看 | 国产一二三区视频 | 91在线 一区 二区三区 | 国产亚洲一区二区三区不卡 | 欧美国产日韩在线播放 | 欧美精品久久天天躁 | 国产成人综合久久综合 | 在线精品欧美日韩 | 可以免费观看的毛片 | 美女一级a毛片免费观看 | 日韩极品视频 | 精品综合一区二区三区 | 欧美 日韩 亚洲另类专区 | 国产91精品黄网在线观看 | 亚洲精品乱码久久久久 | 中文字幕欧美在线观看 | 91香蕉国产亚洲一区二区三区 |