真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

自己動(dòng)手打造ajax圖片上傳的方法教程

這篇文章主要介紹“自己動(dòng)手打造ajax圖片上傳的方法教程”,在日常操作中,相信很多人在自己動(dòng)手打造ajax圖片上傳的方法教程問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”自己動(dòng)手打造ajax圖片上傳的方法教程”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

目前創(chuàng)新互聯(lián)已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、湯原網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

方法1,僅使用jquery代碼,不用第三方插件。代碼如下

       

    $(function() {  $('.inp_fileToUpload').change(function() {  var formdata = new FormData();  var v_this = $(this);  var fileObj = v_this.get(0).files;  url = "/upload/upload_json.ashx";  //var fileObj=document.getElementById("fileToUpload").files;  formdata.append("imgFile", fileObj[0]);  jQuery.ajax({  url : url,  type : 'post',  data : formdata,  cache : false,  contentType : false,  processData : false,  dataType : "json",  success : function(data) {  if (data.error == 0) {  v_this.parent().children(".img_upload").attr("src", data.url);  //$("#img").attr("src",data.url);  }  }  });  return false;  });  }); 

這種方法的缺點(diǎn):由于IE6\8\9\不支持formdata,所以這種方法不支持IE9及以下版本

方法二:使用ajaxfileupload.js插件
ajaxfileupload.js
html代碼:

       

 

     

 
    $(function() {  $(".inp_fileToUpload").live("change", function() {//現(xiàn)在這個(gè)已經(jīng)適用于多個(gè)file表單。  ajaxFileUpload($(this).attr("id"), $(this).parent().children(".img_upload").attr("id"));  })  })  function ajaxFileUpload(file_id, img_id) {  jQuery.ajaxFileUpload({  url : '/upload/upload_json.ashx', //用于文件上傳的服務(wù)器端請(qǐng)求地址  secureuri : false, //是否需要安全協(xié)議,一般設(shè)置為false  fileElementId : file_id, //文件上傳域的ID  dataType : 'json', //返回值類型 一般設(shè)置為json  success : function(data, status)//服務(wù)器成功響應(yīng)處理函數(shù)  {  if (data.error == 0) {  $("#" + img_id).attr("src", data.url);  } else {  alert(data.message);  }  },  error : function(data, status, e)//服務(wù)器響應(yīng)失敗處理函數(shù)  {  alert(e);  }  })  return false;  }   
 


說(shuō)明:這種方法目前測(cè)試支持IE8/9,谷歌,兼容比方法1好。建議采用方法2

文件上傳后臺(tái)處理代碼(asp.net版)

<%@ webhandler Language="C#" class="Upload" %> 

using System; 
using System.Collections; 
using System.Web; 
using System.IO; 
using System.Globalization; 
using LitJson; 
public class Upload : IHttpHandler 
{ 
private HttpContext context; 
public void ProcessRequest(HttpContext context) 
{ 
String aspxUrl = context.Request.Path.Substring(0, context.Request.Path.LastIndexOf("/") + 1); 

//文件保存目錄路徑 
String savePath = "attached/"; 
//文件保存目錄URL 
String saveUrl = aspxUrl + "attached/"; 
//定義允許上傳的文件擴(kuò)展名 
Hashtable extTable = new Hashtable(); 
extTable.Add("image", "gif,jpg,jpeg,png,bmp"); 
extTable.Add("flash", "swf,flv"); 
extTable.Add("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb"); 
extTable.Add("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2"); 
//最大文件大小 
int maxSize = 1000000; 
this.context = context; 
HttpPostedFile imgFile = context.Request.Files["imgFile"]; 
if (imgFile == null) 
{ 
showError("請(qǐng)選擇文件。"); 
} 
String dirPath = context.Server.MapPath(savePath); 
if (!Directory.Exists(dirPath)) 
{ 
showError("上傳目錄不存在。"); 
} 
String dirName = context.Request.QueryString["dir"]; 
if (String.IsNullOrEmpty(dirName)) { 
dirName = "image"; 
} 
if (!extTable.ContainsKey(dirName)) { 
showError("目錄名不正確。"); 
} 
String fileName = imgFile.FileName; 
String fileExt = Path.GetExtension(fileName).ToLower(); 
if (imgFile.InputStream == null || imgFile.InputStream.Length > maxSize) 
{ 
showError("上傳文件大小超過(guò)限制。"); 
} 
if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(((String)extTable[dirName]).Split(','), fileExt.Substring(1).ToLower()) == -1) 
{ 
showError("上傳文件擴(kuò)展名是不允許的擴(kuò)展名。\n只允許" + ((String)extTable[dirName]) + "格式。"); 
} 
//創(chuàng)建文件夾 
dirPath += dirName + "/"; 
saveUrl += dirName + "/"; 
if (!Directory.Exists(dirPath)) { 
Directory.CreateDirectory(dirPath); 
} 
String ymd = DateTime.Now.ToString("yyyyMMdd", DateTimeFormatInfo.InvariantInfo); 
dirPath += ymd + "/"; 
saveUrl += ymd + "/"; 
if (!Directory.Exists(dirPath)) { 
Directory.CreateDirectory(dirPath); 
} 
String newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + fileExt; 
String filePath = dirPath + newFileName; 
imgFile.SaveAs(filePath); 
String fileUrl = saveUrl + newFileName; 
Hashtable hash = new Hashtable(); 
hash["error"] = 0; 
hash["url"] = fileUrl; 
context.Response.AddHeader("Content-Type", "text/html; charset=UTF-8"); 
context.Response.Write(JsonMapper.ToJson(hash)); 
context.Response.End(); 
} 
private void showError(string message) 
{ 
Hashtable hash = new Hashtable(); 
hash["error"] = 1; 
hash["message"] = message; 
context.Response.AddHeader("Content-Type", "text/html; charset=UTF-8"); 
context.Response.Write(JsonMapper.ToJson(hash)); 
context.Response.End(); 
} 
public bool IsReusable 
{ 
get 
{ 
return true; 
} 
} 
}

到此,關(guān)于“自己動(dòng)手打造ajax圖片上傳的方法教程”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


名稱欄目:自己動(dòng)手打造ajax圖片上傳的方法教程
文章URL:http://weahome.cn/article/gessdd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部