亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

自己動手打造ajax圖片上傳(網上沒有的)

2024-09-01 08:28:42
字體:
來源:轉載
供稿:網友

今天筆者需要一款圖片上傳插件,但是網上沒有提供一款符合自己需求且好用的。于是就自己動手寫了一個。

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

<p> <label>上傳圖片</label> <input class="ke-input-text" type="text" id="url" value="" readonly="readonly" /> <input type="button" id="uploadButton" value="Upload" /> </p> <script type="text/javascript"> $(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; }); }); </script>

這種方法的缺點:由于IE6/8/9/不支持formdata,所以這種方法不支持IE9及以下版本

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

<p> <label>ajax上傳</label> <input type="file" name="fileToUpload" id="fileToUpload" class="inp_fileToUpload" multiple="multiple"/> <img src="$web.site$web.tpl#**#adminht/images/lb_head.jpg" width="30px" height="30px" class="img_upload" id="img" /> </p> <p> <label>最新修改人員:</label> <input readonly="readonly" type="text" size="30" /> </p> <div> <script type="text/javascript"> $(function() { $(".inp_fileToUpload").live("change", function() {//現在這個已經適用于多個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', //用于文件上傳的服務器端請求地址 secureuri : false, //是否需要安全協議,一般設置為false fileElementId : file_id, //文件上傳域的ID dataType : 'json', //返回值類型 一般設置為json success : function(data, status)//服務器成功響應處理函數 { if (data.error == 0) { $("#" + img_id).attr("src", data.url); } else { alert(data.message); } }, error : function(data, status, e)//服務器響應失敗處理函數 { alert(e); } }) return false; } </script> </div> </div>


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

文件上傳后臺處理代碼(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/"; //定義允許上傳的文件擴展名 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("請選擇文件。"); } 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("上傳文件大小超過限制。"); } if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(((String)extTable[dirName]).Split(','), fileExt.Substring(1).ToLower()) == -1) { showError("上傳文件擴展名是不允許的擴展名。/n只允許" + ((String)extTable[dirName]) + "格式。"); } //創建文件夾 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; } } }            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久国产精品久久久久| 在线播放精品一区二区三区| 亚洲福利视频久久| 精品久久久久久中文字幕大豆网| 国产精品一区二区3区| 欧美视频在线视频| 91九色在线视频| 欧美大片在线看| 国内精品中文字幕| 91午夜理伦私人影院| 欧美成人午夜免费视在线看片| 亚洲免费小视频| 日日狠狠久久偷偷四色综合免费| 91在线网站视频| 欧美大片在线看| 亚洲国产精品va| 成人免费午夜电影| 亚洲美女黄色片| 亚洲va久久久噜噜噜久久天堂| 国产欧美一区二区三区在线| 日韩中文字幕视频在线| 97在线观看免费高清| 日韩福利在线播放| 91久久久久久久久久久久久| 欧美高清电影在线看| 97在线观看视频国产| 国产精品老女人精品视频| 亚洲天堂男人天堂| 日韩av网站导航| 在线精品播放av| 国产精品专区第二| 国产一区二区三区毛片| 久久久午夜视频| 欧美电影在线免费观看网站| 亚洲精品xxxx| 欧美极品美女电影一区| 亚洲欧美另类国产| 2019日本中文字幕| www.欧美三级电影.com| 亚洲精品在线视频| 懂色av影视一区二区三区| 欧美猛交ⅹxxx乱大交视频| 日本久久久久亚洲中字幕| 日韩av影院在线观看| 最近2019年中文视频免费在线观看| 永久免费毛片在线播放不卡| 国产欧美一区二区| 九九热99久久久国产盗摄| 国产z一区二区三区| 中文字幕自拍vr一区二区三区| 亚洲第一中文字幕| 欧美性极品xxxx娇小| 国产一区二区三区18| 欧美大片免费观看| 国产精品吊钟奶在线| 精品久久久一区二区| 国产亚洲综合久久| 国产精品免费观看在线| 中国china体内裑精亚洲片| 欧美激情va永久在线播放| 国产精品99久久久久久白浆小说| 91视频国产一区| 国模吧一区二区| 国产精品99蜜臀久久不卡二区| 久久天天躁狠狠躁夜夜爽蜜月| 久久久久久欧美| 日韩成人在线播放| 成人免费大片黄在线播放| 一本一本久久a久久精品综合小说| 国产视频精品一区二区三区| 亚洲第一中文字幕| 久久精品小视频| 色综合老司机第九色激情| 91成人福利在线| 45www国产精品网站| 91国内揄拍国内精品对白| 久久精品最新地址| 日韩精品极品在线观看播放免费视频| 亚洲一区二区三区777| 亚洲一区精品电影| 91色视频在线导航| 亚洲自拍偷拍在线| 欧美精品第一页在线播放| 亚洲xxxx在线| 亚洲精品v欧美精品v日韩精品| 3344国产精品免费看| 久久精品青青大伊人av| 韩国欧美亚洲国产| 欧美午夜影院在线视频| 精品香蕉在线观看视频一| 欧美与欧洲交xxxx免费观看| 国产精品久久久久国产a级| 欧美国产日韩xxxxx| 欧美一级大胆视频| 欧美伊久线香蕉线新在线| 国产精品91久久久久久| 成人免费视频xnxx.com| 26uuu亚洲国产精品| 亚洲精品成a人在线观看| 美女啪啪无遮挡免费久久网站| 亚洲男人av在线| 高跟丝袜欧美一区| 亚洲欧美自拍一区| 久久久久国产精品免费| 亚洲区中文字幕| 亚洲人高潮女人毛茸茸| 日韩av在线影院| 国产精品18久久久久久首页狼| 在线精品国产欧美| 欧美成人午夜激情| 一本大道久久加勒比香蕉| 欧美在线免费观看| 欧美日韩第一视频| 97激碰免费视频| 68精品久久久久久欧美| 一区二区三区四区在线观看视频| 亚洲欧美三级在线| 国产精品高精视频免费| 日韩资源在线观看| 中文在线资源观看视频网站免费不卡| 亚洲精品福利免费在线观看| 91国产一区在线| 亚洲国产日韩欧美综合久久| 97视频免费在线看| 欧美性猛交xxxxx水多| 国产精品入口免费视| 欧美在线视频网| 久久久久久久国产| 欧美日韩激情视频| 一区三区二区视频| 亚洲性69xxxbbb| 色婷婷久久av| 日韩国产中文字幕| 永久免费精品影视网站| 久久久精品久久久| 国产精品日韩在线| 在线播放国产精品| 国产成人精品视频在线观看| 国内精品模特av私拍在线观看| 91国偷自产一区二区三区的观看方式| 日韩av中文字幕在线免费观看| 日韩少妇与小伙激情| 国产精品高清免费在线观看| 精品日本高清在线播放| 久久福利网址导航| 69精品小视频| 欧美大肥婆大肥bbbbb| 亚洲精品美女网站| 亚洲全黄一级网站| 久久影视电视剧免费网站清宫辞电视| 国产精品女视频| 午夜精品一区二区三区视频免费看| 亚洲精品国产福利| 日韩精品免费综合视频在线播放| 91精品国产777在线观看| 菠萝蜜影院一区二区免费| 国产精品27p| 91大神在线播放精品| 日韩久久午夜影院| 亚洲欧洲日产国码av系列天堂| 国产精品久久久一区| 国产精品av免费在线观看| 欧美伊久线香蕉线新在线| 久久婷婷国产麻豆91天堂|