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

首頁 > 開發(fā) > AJAX > 正文

jQuery異步上傳文件插件ajaxFileUpload詳細介紹

2024-09-01 08:33:02
字體:
供稿:網(wǎng)友
這篇文章主要介紹了jQuery異步上傳文件插件ajaxFileUpload詳細介紹,本文首先講解了ajaxFileUpload的參數(shù)、錯誤提示等知識,然后給出了簡單使用實例和ASP.NET MVC模式下的使用實例,需要的朋友可以參考下
 

一、ajaxFileUpload是一個異步上傳文件的jQuery插件。

傳一個不知道什么版本的上來,以后不用到處找了。

語法:$.ajaxFileUpload([options])

options參數(shù)說明:

1、url            上傳處理程序地址。  
2,fileElementId       需要上傳的文件域的ID,即<input type="file">的ID。
3,secureuri        是否啟用安全提交,默認為false。 
4,dataType        服務器返回的數(shù)據(jù)類型??梢詾閤ml,script,json,html。如果不填寫,jQuery會自動判斷。
5,success        提交成功后自動執(zhí)行的處理函數(shù),參數(shù)data就是服務器返回的數(shù)據(jù)。
6,error          提交失敗自動執(zhí)行的處理函數(shù)。
7,data           自定義參數(shù)。這個東西比較有用,當有數(shù)據(jù)是與上傳的圖片相關(guān)的時候,這個東西就要用到了。
8, type            當要提交自定義參數(shù)時,這個參數(shù)要設(shè)置成post

錯誤提示:

1,SyntaxError: missing ; before statement錯誤
  如果出現(xiàn)這個錯誤就需要檢查url路徑是否可以訪問
2,SyntaxError: syntax error錯誤
  如果出現(xiàn)這個錯誤就需要檢查處理提交操作的服務器后臺處理程序是否存在語法錯誤
3,SyntaxError: invalid property id錯誤
  如果出現(xiàn)這個錯誤就需要檢查文本域?qū)傩訧D是否存在
4,SyntaxError: missing } in XML expression錯誤
  如果出現(xiàn)這個錯誤就需要檢查文件name是否一致或不存在
5,其它自定義錯誤
  大家可使用變量$error直接打印的方法檢查各參數(shù)是否正確,比起上面這些無效的錯誤提示還是方便很多。

使用方法:

第一步:先引入jQuery與ajaxFileUpload插件。注意先后順序,這個不用說了,所有的插件都是這樣。

復制代碼代碼如下:

<script src="jquery-1.7.1.js" type="text/javascript"></script>
<script src="ajaxfileupload.js" type="text/javascript"></script>

 

第二步:HTML代碼:

復制代碼代碼如下:

<body>
    <p><input type="file" id="file1" name="file" /></p>
    <input type="button" value="上傳" />
    <p><img id="img1" style="border-left-color: rgb(0, 153, 204); border-left-width: 1px; border-left-style: solid; padding: 0px 3px; margin: 3px auto 0px; width: 640px; background-color: rgb(242, 246, 251); clear: both; border-top-color: rgb(0, 153, 204); border-top-width: 1px; border-top-style: solid; border-right-color: rgb(0, 153, 204); border-right-width: 1px; border-right-style: solid;"> 復制代碼代碼如下:

<script src="jquery-1.7.1.js" type="text/javascript"></script>
    <script src="ajaxfileupload.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $(":button").click(function () {
                ajaxFileUpload();
            })
        })
        function ajaxFileUpload() {
            $.ajaxFileUpload
            (
                {
                    url: '/upload.aspx', //用于文件上傳的服務器端請求地址
                    secureuri: false, //是否需要安全協(xié)議,一般設(shè)置為false
                    fileElementId: 'file1', //文件上傳域的ID
                    dataType: 'json', //返回值類型 一般設(shè)置為json
                    success: function (data, status)  //服務器成功響應處理函數(shù)
                    {
                        $("#img1").attr("src", data.imgurl);
                        if (typeof (data.error) != 'undefined') {
                            if (data.error != '') {
                                alert(data.error);
                            } else {
                                alert(data.msg);
                            }
                        }
                    },
                    error: function (data, status, e)//服務器響應失敗處理函數(shù)
                    {
                        alert(e);
                    }
                }
            )
            return false;
        }
    </script>

 

第四步:后臺頁面upload.aspx代碼:

復制代碼代碼如下:

protected void Page_Load(object sender, EventArgs e)
        {
            HttpFileCollection files = Request.Files;
            string msg = string.Empty;
            string error = string.Empty;
            string imgurl;
            if (files.Count > 0)
            {
                files[0].SaveAs(Server.MapPath("/") + System.IO.Path.GetFileName(files[0].FileName));
                msg = " 成功! 文件大小為:" + files[0].ContentLength;
                imgurl = "/" + files[0].FileName;
                string res = "{ error:'" + error + "', msg:'" + msg + "',imgurl:'" + imgurl + "'}";
                Response.Write(res);
                Response.End();
            }
        }

 

 

來一個MVC版本的實例:

控制器代碼

復制代碼代碼如下:

public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

 

        public ActionResult Upload()
        {
            HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files;
            string imgPath = "";
            if (hfc.Count > 0)
            {
                imgPath = "/testUpload" + hfc[0].FileName;
                string PhysicalPath = Server.MapPath(imgPath);
                hfc[0].SaveAs(PhysicalPath);
            }
            return Content(imgPath);
        }
    }

 

前端視圖,HTML與JS代碼,成功上傳后,返回圖片真實地址并綁定到<img>的SRC地址

 

復制代碼代碼如下:

<html>
<head>
    <script src="/jquery-1.7.1.js" type="text/javascript"></script>
    <script src="/ajaxfileupload.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $(":button").click(function () {
                if ($("#file1").val().length > 0) {
                    ajaxFileUpload();
                }
                else {
                    alert("請選擇圖片");
                }
            })
        })
        function ajaxFileUpload() {
            $.ajaxFileUpload
            (
                {
                    url: '/Home/Upload', //用于文件上傳的服務器端請求地址
                    secureuri: false, //一般設(shè)置為false
                    fileElementId: 'file1', //文件上傳空間的id屬性  <input type="file" id="file" name="file" />
                    dataType: 'HTML', //返回值類型 一般設(shè)置為json
                    success: function (data, status)  //服務器成功響應處理函數(shù)
                    {
                        alert(data);
                        $("#img1").attr("src", data);
                        if (typeof (data.error) != 'undefined') {
                            if (data.error != '') {
                                alert(data.error);
                            } else {
                                alert(data.msg);
                            }
                        }
                    },
                    error: function (data, status, e)//服務器響應失敗處理函數(shù)
                    {
                        alert(e);
                    }
                }
            )
            return false;
        }
    </script>
</head>
<body>
    <p><input type="file" id="file1" name="file" /></p>
    <input type="button" value="上傳" />
    <p><img id="img1" style="border-left-color: rgb(0, 153, 204); border-left-width: 1px; border-left-style: solid; padding: 0px 3px; margin: 3px auto 0px; width: 640px; background-color: rgb(242, 246, 251); clear: both; border-top-color: rgb(0, 153, 204); border-top-width: 1px; border-top-style: solid; border-right-color: rgb(0, 153, 204); border-right-width: 1px; border-right-style: solid;"> 復制代碼代碼如下:

public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

 

        public ActionResult Upload()
        {
            NameValueCollection nvc = System.Web.HttpContext.Current.Request.Form;

            HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files;
            string imgPath = "";
            if (hfc.Count > 0)
            {
                imgPath = "/testUpload" + hfc[0].FileName;
                string PhysicalPath = Server.MapPath(imgPath);
                hfc[0].SaveAs(PhysicalPath);
            }
            //注意要寫好后面的第二第三個參數(shù)
            return Json(new { Id = nvc.Get("Id"), name = nvc.Get("name"), imgPath1 = imgPath },"text/html", JsonRequestBehavior.AllowGet);
        }
    }

 

Index視圖代碼:

復制代碼代碼如下:

<html>
<head>
    <script src="/jquery-1.7.1.js" type="text/javascript"></script>
    <script src="/ajaxfileupload.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $(":button").click(function () {
                if ($("#file1").val().length > 0) {
                    ajaxFileUpload();
                }
                else {
                    alert("請選擇圖片");
                }
            })
        })
        function ajaxFileUpload() {
            $.ajaxFileUpload
            (
                {
                    url: '/Home/Upload', //用于文件上傳的服務器端請求地址
                    type: 'post',
                    data: { Id: '123', name: 'lunis' }, //此參數(shù)非常嚴謹,寫錯一個引號都不行
                    secureuri: false, //一般設(shè)置為false
                    fileElementId: 'file1', //文件上傳空間的id屬性  <input type="file" id="file" name="file" />
                    dataType: 'json', //返回值類型 一般設(shè)置為json
                    success: function (data, status)  //服務器成功響應處理函數(shù)
                    {
                        alert(data);
                        $("#img1").attr("src", data.imgPath1);
                        alert("你請求的Id是" + data.Id + "     " + "你請求的名字是:" + data.name);
                        if (typeof (data.error) != 'undefined') {
                            if (data.error != '') {
                                alert(data.error);
                            } else {
                                alert(data.msg);
                            }
                        }
                    },
                    error: function (data, status, e)//服務器響應失敗處理函數(shù)
                    {
                        alert(e);
                    }
                }
            )
            return false;
        }
    </script>
</head>
<body>
    <p><input type="file" id="file1" name="file" /></p>
    <input type="button" value="上傳" />
    <p><img id="img1" alt="上傳成功啦" src="" /></p>
</body>
</html>

 

此實例在顯示出異步上傳圖片的同時并彈出自定義傳輸?shù)膮?shù)。本實例

2013年1月28日,今天調(diào)試過程中發(fā)現(xiàn)一個問題,就是作為文件域(<input type="file">)必須要有name屬性,如果沒有name屬性,上傳之后服務器是獲取不到圖片的。如:正確的寫法是<input type="file" id="file1" name="file1" />

2013年1月28日,最經(jīng)典的錯誤終于找到原因所在了。Object function (a,b){return new e.fn.init(a,b,h)} has no method 'handleError',這個是google瀏覽器報的錯誤,非常經(jīng)典, 不知道是我的版本問題還是真正存在的問題。這個問題的根源經(jīng)過N次上傳才找到問題的根本所在。答案是:dataType參數(shù)一定要大寫。如:dataType: 'HTML'。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧美xxx性| 久久丝袜美腿综合| 人妻视频一区二区| 亚洲国产aⅴ精品| 精品无码国产一区二区三区av| 女人天堂网站| 激情亚洲网站| 国产人妻人伦精品1国产丝袜| 久久久久久久久久久久久国产| 中文字幕在线二区| 国产成人a亚洲精品| 老女人性生活视频| 国产99久久久国产精品潘金| 大地资源高清播放在线观看| 国产精品大片| 国产69精品久久久久9999apgf| 日本美女一级片| 2020国产成人综合网| 亚洲成人免费影院| 国产女主播在线直播| 茄子视频成人在线| 亚州欧美精品suv| 成视频在线观看免费观看| 艳妇乳肉豪妇荡乳av无码福利| 亚洲男人天堂网站| 色网站在线免费观看| 成人欧美一区二区三区在线湿哒哒| 在线亚洲午夜片av大片| 国产欧美日韩精品综合| 美女被黑人40厘米进入| 亚洲蜜臀av乱码久久精品| 欧美孕妇孕交黑巨大网站| 国产一区二区精品| 国产又粗又长又爽又黄的视频| 成人国产在线视频| 69av成年福利视频| 欧美国产日韩a欧美在线观看| 香蕉网站在线| 拔插拔插华人永久免费| 青花影视在线观看免费高清| 香蕉视频在线看| 国产成人无码精品亚洲| av不卡一区| 中文字幕av亚洲精品一部二部| 日韩欧美一区免费| 色网站在线播放| 欧美重口另类videos人妖| 精品视频在线视频| 91免费精品国偷自产在线在线| 午夜精品一区二区三区在线视| 久久精品magnetxturnbtih| 99ri日韩精品视频| 国产精品一区二区av影院萌芽| 欧美精品xxxxx| 在线播放日本| 91麻豆国产精品久久| 国产精品自产拍| 精品成人私密视频| 亚洲美女搞黄| 成人晚上爱看视频| 国产激情在线播放| 婷婷av一区二区三区| 欧美一区2区三区4区公司二百| 国产精品久久久久久久久毛片| 亚洲aa在线观看| 搡的我好爽在线观看免费视频| 99精品久久免费看蜜臀剧情介绍| 麻豆一区二区三区精品视频| 狠狠鲁男人天堂| 韩国一区二区三区美女美女秀| 精品久久久久99| 韩国女主播成人在线观看| 在线观看亚洲| 亚州av中文字幕在线免费观看| 日韩**一区毛片| 999国产在线视频| 免费在线观看一级毛片| 一区中文字幕电影| 一本大道久久a久久精品综合| 久久青草伊人| 天堂一区二区在线| 成人午夜免费电影| 你懂的免费在线观看视频网站| 中国视频免男男gay| 五月激情婷婷综合| 欧美日韩免费一区| 色偷偷9999www| 欧美污视频网站| 亚洲熟女少妇一区二区| 成人一区二区免费视频| 亚洲女人天堂色在线7777| 一区在线影院| 亚洲国产精品尤物yw在线观看| 国产精品免费丝袜| 国产美女在线精品| 成人免费在线观看入口| 99久久精品免费看国产| 国产精品4hu.www| 疯狂做受xxxx高潮欧美日本| 在线观看免费国产视频| 日本高清网站| 3atv在线一区二区三区| 忘忧草精品久久久久久久高清| 少妇淫片在线影院| 一区二区三区波多野结衣在线观看| 激情中文字幕| 久久久精品一区二区三区| 俺去啦最新地址| 中文字幕一二三四| 欧美另类专区| 国产a视频免费观看| 亚洲美女炮图| 99久久精品费精品国产一区二区| 中国av免费看| 中文在线网在线中文| 免费毛片一区二区三区| 一区二区www| 国产男人精品视频| 欧美日韩在线视频免费播放| 欧美xxx网站| 91破解版在线看| 麻豆免费在线| 成人bbav| 日本电影久久久| 久久综合九色综合欧美亚洲| 国产小视频在线高清播放| 久久偷看各类女兵18女厕嘘嘘| 性中国xxx极品hd| 国产成人精品免高潮在线观看| 精品日韩在线播放| 欧美videossex| 黄色aaa大片| 亚洲国产一区二区三区网站| 精品国产一区二区三区久久久狼牙| 九九视频免费看| 9191在线播放| 久久综合另类图片小说| 免费在线观看不卡| 天堂资源最新版在线视频观看免费网| 亚洲精品丝袜日韩| 韩国免费在线视频| 色综合久久中文综合久久牛| jizz日本大全| 久久久久久**毛片大全| 日韩和的一区二区| 在线观看国产高清视频| 国产精品国产三级国产普通话99| 日本aⅴ免费视频一区二区三区| 国产精品日本| 国产热re99久久6国产精品| 亚洲综合国产| 性活交片大全免费看| 香蕉97视频观看在线观看| 久久精品三级视频| 日本中文字幕高清| 亚洲综合视频网站| 影音先锋中文资源站| 亚洲一区二区三区xxx视频| 成人国产二区| 亚洲网色网站| 成年人视频免费在线观看| 国产高清精品网站| 国产精品日韩欧美一区| 欧美xxx黑人xxx水蜜桃| 国产在线精选视频| 亚洲综合日韩中文字幕v在线| 九九99久久| 精品一区二区三区免费播放| 国产午夜精品福利| 欧美精品一区二区在线观看| 黄色av网站在线免费观看| 色中色综合网| 成人美女黄网站| 三上悠亚ssⅰn939无码播放| 欧美日韩美女一区二区| 136fldh精品导航福利| crdy在线观看欧美| 久久精品理论片| 精品无码av无码免费专区| 青青草精品毛片| 亚洲第一黄色网| 亚洲欧洲av| 美洲精品一卡2卡三卡4卡四卡| 男人用机机桶女人| 久久久久亚洲av无码专区首jn| 日本在线观看不卡视频| 在线观看欧美激情| 欧美自拍视频| 永久免费毛片在线播放| 亚洲精品乱码久久久久| 狠狠狠色丁香婷婷综合久久五月| 尤物在线观看| 毛片免费在线| 亚洲va电影大全| 欧美日韩中文字幕精品| 国产三级欧美三级日产三级99| 人人爱人人干婷婷丁香亚洲| 欧美丝袜丝交足nylons| 51视频国产精品一区二区| 99热在线看| 91国在线高清视频| 嫩草视频在线观看| 欧美精品国产精品日韩精品| 欧美网色网址| 免费一级特黄3大片视频| 欧美成人做性视频在线播放| 午夜天堂影视香蕉久久| 免费h片在线观看| 精品国产乱码久久| 国产精品久久久久久久久粉嫩av| 国产免费叼嘿网站免费| 久久免费手机视频| 中文字幕日韩免费视频| 国产一级精品aaaaa看| 福利一区二区在线观看| 神马午夜伦理影院| 国产盗摄xxxx视频xxx69| 国产欧美一区二区精品性色超碰| 日韩电影在线观看中文字幕| 丰满岳妇乱一区二区三区| 日韩精品dvd| 中文字幕无码精品亚洲35| 午夜久久久久久久| 91在线高清视频| 黄色影院一级片| 一个色妞综合视频在线观看| 国产淫片在线观看| 国产视频一区三区| 蜜桃视频一区二区在线观看| 欧美一区二区三区艳史| 婷婷亚洲精品| 亚洲午夜久久久久| 日韩免费中文字幕| 原创国产精品91| 久久亚洲高清| 日韩欧美国产一二三区| 日韩激情视频| 成人免费在线视频网站| 欧美一区二区三区艳史| 香蕉精品视频在线观看| 国产丝袜欧美中文另类| 四虎影视永久免费在线观看一区二区三区| 正在播放国产一区| 中国1级黄色片| 亚洲美女偷拍久久| 欧美精品一区二区蜜桃| 亚洲综合影视| 5g影院5g电影天天爽快| 久热中文字幕在线| 欧美成人milf| 黄色在线免费网站| 影音先锋日韩在线| 日韩视频精品在线| 9999精品免费视频| 欧美色图亚洲| 欧产日产国产精品视频| 黄色网址多少| 美女亚洲精品| 日韩国产欧美一区二区三区| av电影高清在线观看| 亚洲图片欧美午夜| 在线不卡一区二区| 久久久影院一区二区三区| 夜夜嗨av一区二区三区四季av| 亚洲综合欧美| 亚洲精品一区国产精品| 尤物av无码色av无码| 在线观看免费高清视频| 午夜在线视频播放| 麻豆传媒视频在线观看免费| 欧美黄色www| 日本成人在线不卡视频| 91亚洲永久精品| 一本岛在免费一二三区| 欧美 日韩 国产一区| 99在线精品视频免费观看软件| 色婷婷av一区二区三区之e本道| 青青久久av北条麻妃海外网| 免费观看h片| 成人在线日韩| 亚洲av无码精品一区二区| 欧美色视频免费| 天天干天天爽| 精品亚洲永久免费精品| 日韩综合小视频| 欧美激情区在线播放| 中国人体摄影一区二区三区| 性xx色xx综合久久久xx| 久久免费区一区二区三波多野| 欧美边添边摸边做边爱免费| 久99九色视频在线观看| 狠狠操五月天| 久久精品一区二| 91亚洲自偷观看高清| 舔足天天操天天射| 日本中文字幕亚洲| 日韩精品在线私人| 久久久久久久久久久久久久| 老牛影视一区二区三区| 91精品欧美久久久久久动漫| 午夜精品国产更新| 黄色免费网站视频| 国产青青视频| 国产精品人成电影在线观看| 中文字幕av观看| 亚洲欧美国产制服动漫| 久久av老司机精品网站导航| 视频在线观看一区| 久久国产日本精品| 美女视频免费观看网站在线| 亚洲高清在线一区| 国产精品夜色7777狼人| 中文字幕国产传媒| 无码人妻精品中文字幕| 四虎影视一区二区| 国产精品456| 成人高清在线观看视频| 久久久亚洲福利精品午夜| 国产日韩欧美日韩| 国内老熟妇对白xxxxhd| 亚洲欧美另类在线视频| 国产精品一区二区无线| 国产精品久久福利| 特黄特色欧美大片| 国产亚洲一区| 粉嫩久久99精品久久久久久夜| 农村少妇一区二区三区四区五区| 尤物视频在线观看免费|