日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ajaxfileupload带参数上传文件

發(fā)布時(shí)間:2024/4/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ajaxfileupload带参数上传文件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用Jquery Ajax File Uploader這個(gè)控件上傳

官方網(wǎng)站:http://www.phpletter.com/DOWNLOAD/

這個(gè)控件有個(gè)缺點(diǎn),就是不能傳遞自定義參數(shù)。通過更改ajaxfileupload.js文件可以解決此問題。

主要更改點(diǎn)32行,增加42行的內(nèi)容,更改56行的內(nèi)容

32/createUploadForm: function(id, fileElementId)

42/增加文本參數(shù)的支持 ?

?? ? ? ?if (data) { ?

?? ? ? ? ? ?for (var i in data) { ?

?? ? ? ? ? ? ? ?$('<input type="hidden" name="' + i + '" value="' + data[i] + '" />').appendTo(form); ?

?? ? ? ? ? ?} ?

?? ? ? ?} ?

?56/ var form = jQuery.createUploadForm(id, s.fileElementId, s.data);

?

以下是更改后的文件:

?

jQuery.extend({ ?

?? ?createUploadIframe: function(id, uri) ?

?? ?{ ?

?? ? ? ? ? ?//create frame ?

?? ? ? ? ? ?var frameId = 'jUploadFrame' + id; ?

?? ? ? ? ? ? ?

?? ? ? ? ? ?if(window.ActiveXObject) { ?

?? ? ? ? ? ? ? ?var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />'); ?

?? ? ? ? ? ? ? ?if(typeof uri== 'boolean'){ ?

?? ? ? ? ? ? ? ? ? ?io.src = 'javascript:false'; ?

?? ? ? ? ? ? ? ?} ?

?? ? ? ? ? ? ? ?else if(typeof uri== 'string'){ ?

?? ? ? ? ? ? ? ? ? ?io.src = uri; ?

?? ? ? ? ? ? ? ?} ?

?? ? ? ? ? ?} ?

?? ? ? ? ? ?else { ?

?? ? ? ? ? ? ? ?var io = document.createElement('iframe'); ?

?? ? ? ? ? ? ? ?io.id = frameId; ?

?? ? ? ? ? ? ? ?io.name = frameId; ?

?? ? ? ? ? ?} ?

?? ? ? ? ? ?io.style.position = 'absolute'; ?

?? ? ? ? ? ?io.style.top = '-1000px'; ?

?? ? ? ? ? ?io.style.left = '-1000px'; ?

??

?? ? ? ? ? ?document.body.appendChild(io); ?

??

?? ? ? ? ? ?return io ? ? ? ? ? ??

?? ?}, ?

?? ?createUploadForm: function(id, fileElementId, data) ?

?? ?{ ?

?? ? ? ?//create form ? ??

?? ? ? ?var formId = 'jUploadForm' + id; ?

?? ? ? ?var fileId = 'jUploadFile' + id; ?

?? ? ? ?var form = $('<form ?action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>'); ??

?? ? ? ?var oldElement = $('#' + fileElementId); ?

?? ? ? ?var newElement = $(oldElement).clone(); ?

?? ? ? ?$(oldElement).attr('id', fileId); ?

?? ? ? ?$(oldElement).before(newElement); ?

?? ? ? ?$(oldElement).appendTo(form); ?

?? ? ? ? ?

?? ? ? ?//增加文本參數(shù)的支持 ?

?? ? ? ?if (data) { ?

?? ? ? ? ? ?for (var i in data) { ?

?? ? ? ? ? ? ? ?$('<input type="hidden" name="' + i + '" value="' + data[i] + '" />').appendTo(form); ?

?? ? ? ? ? ?} ?

?? ? ? ?} ?

?? ? ? ? ?

?? ? ? ?//set attributes ?

?? ? ? ?$(form).css('position', 'absolute'); ?

?? ? ? ?$(form).css('top', '-1200px'); ?

?? ? ? ?$(form).css('left', '-1200px'); ?

?? ? ? ?$(form).appendTo('body'); ? ? ? ??

?? ? ? ?return form; ?

?? ?}, ?

??

?? ?ajaxFileUpload: function(s) { ?

?? ? ? ?// TODO introduce global settings, allowing the client to modify them for all requests, not only timeout ? ? ? ? ?

?? ? ? ?s = jQuery.extend({}, jQuery.ajaxSettings, s); ?

?? ? ? ?var id = new Date().getTime() ? ? ? ? ?

?? ? ? ?var form = jQuery.createUploadForm(id, s.fileElementId, s.data); ?

?? ? ? ?var io = jQuery.createUploadIframe(id, s.secureuri); ?

?? ? ? ?var frameId = 'jUploadFrame' + id; ?

?? ? ? ?var formId = 'jUploadForm' + id; ? ? ? ? ?

?? ? ? ?// Watch for a new set of requests ?

?? ? ? ?if ( s.global && ! jQuery.active++ ) ?

?? ? ? ?{ ?

?? ? ? ? ? ?jQuery.event.trigger( "ajaxStart" ); ?

?? ? ? ?} ? ? ? ? ? ? ?

?? ? ? ?var requestDone = false; ?

?? ? ? ?// Create the request object ?

?? ? ? ?var xml = {} ? ??

?? ? ? ?if ( s.global ) ?

?? ? ? ? ? ?jQuery.event.trigger("ajaxSend", [xml, s]); ?

?? ? ? ?// Wait for a response to come back ?

?? ? ? ?var uploadCallback = function(isTimeout) ?

?? ? ? ?{ ? ? ? ? ? ??

?? ? ? ? ? ?var io = document.getElementById(frameId); ?

?? ? ? ? ? ?try ??

?? ? ? ? ? ?{ ? ? ? ? ? ? ? ??

?? ? ? ? ? ? ? ?if(io.contentWindow) ?

?? ? ? ? ? ? ? ?{ ?

?? ? ? ? ? ? ? ? ? ? xml.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null; ?

?? ? ? ? ? ? ? ? ? ? xml.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document; ?

?? ? ? ? ? ? ? ? ? ? ??

?? ? ? ? ? ? ? ?}else if(io.contentDocument) ?

?? ? ? ? ? ? ? ?{ ?

?? ? ? ? ? ? ? ? ? ? xml.responseText = io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null; ?

?? ? ? ? ? ? ? ? ? ?xml.responseXML = io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document; ?

?? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ??

?? ? ? ? ? ?}catch(e) ?

?? ? ? ? ? ?{ ?

?? ? ? ? ? ? ? ?jQuery.handleError(s, xml, null, e); ?

?? ? ? ? ? ?} ?

?? ? ? ? ? ?if ( xml || isTimeout == "timeout") ??

?? ? ? ? ? ?{ ? ? ? ? ? ? ? ??

?? ? ? ? ? ? ? ?requestDone = true; ?

?? ? ? ? ? ? ? ?var status; ?

?? ? ? ? ? ? ? ?try { ?

?? ? ? ? ? ? ? ? ? ?status = isTimeout != "timeout" ? "success" : "error"; ?

?? ? ? ? ? ? ? ? ? ?// Make sure that the request was successful or notmodified ?

?? ? ? ? ? ? ? ? ? ?if ( status != "error" ) ?

?? ? ? ? ? ? ? ? ? ?{ ?

?? ? ? ? ? ? ? ? ? ? ? ?// process the data (runs the xml through httpData regardless of callback) ?

?? ? ? ? ? ? ? ? ? ? ? ?var data = jQuery.uploadHttpData( xml, s.dataType ); ? ? ?

?? ? ? ? ? ? ? ? ? ? ? ?// If a local callback was specified, fire it and pass it the data ?

?? ? ? ? ? ? ? ? ? ? ? ?if ( s.success ) ?

?? ? ? ? ? ? ? ? ? ? ? ? ? ?s.success( data, status ); ?

?? ? ?

?? ? ? ? ? ? ? ? ? ? ? ?// Fire the global callback ?

?? ? ? ? ? ? ? ? ? ? ? ?if( s.global ) ?

?? ? ? ? ? ? ? ? ? ? ? ? ? ?jQuery.event.trigger( "ajaxSuccess", [xml, s] ); ?

?? ? ? ? ? ? ? ? ? ?} else ?

?? ? ? ? ? ? ? ? ? ? ? ?jQuery.handleError(s, xml, status); ?

?? ? ? ? ? ? ? ?} catch(e) ??

?? ? ? ? ? ? ? ?{ ?

?? ? ? ? ? ? ? ? ? ?status = "error"; ?

?? ? ? ? ? ? ? ? ? ?jQuery.handleError(s, xml, status, e); ?

?? ? ? ? ? ? ? ?} ?

??

?? ? ? ? ? ? ? ?// The request was completed ?

?? ? ? ? ? ? ? ?if( s.global ) ?

?? ? ? ? ? ? ? ? ? ?jQuery.event.trigger( "ajaxComplete", [xml, s] ); ?

??

?? ? ? ? ? ? ? ?// Handle the global AJAX counter ?

?? ? ? ? ? ? ? ?if ( s.global && ! --jQuery.active ) ?

?? ? ? ? ? ? ? ? ? ?jQuery.event.trigger( "ajaxStop" ); ?

??

?? ? ? ? ? ? ? ?// Process result ?

?? ? ? ? ? ? ? ?if ( s.complete ) ?

?? ? ? ? ? ? ? ? ? ?s.complete(xml, status); ?

??

?? ? ? ? ? ? ? ?jQuery(io).unbind() ?

??

?? ? ? ? ? ? ? ?setTimeout(function() ?

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ ? try ??

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ ?

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?$(io).remove(); ?

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?$(form).remove(); ? ??

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} catch(e) ??

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ ?

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?jQuery.handleError(s, xml, null, e); ?

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

??

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}, 100) ?

??

?? ? ? ? ? ? ? ?xml = null ?

??

?? ? ? ? ? ?} ?

?? ? ? ?} ?

?? ? ? ?// Timeout checker ?

?? ? ? ?if ( s.timeout > 0 ) ??

?? ? ? ?{ ?

?? ? ? ? ? ?setTimeout(function(){ ?

?? ? ? ? ? ? ? ?// Check to see if the request is still happening ?

?? ? ? ? ? ? ? ?if( !requestDone ) uploadCallback( "timeout" ); ?

?? ? ? ? ? ?}, s.timeout); ?

?? ? ? ?} ?

?? ? ? ?try ??

?? ? ? ?{ ?

?? ? ? ? ? // var io = $('#' + frameId); ?

?? ? ? ? ? ?var form = $('#' + formId); ?

?? ? ? ? ? ?$(form).attr('action', s.url); ?

?? ? ? ? ? ?$(form).attr('method', 'POST'); ?

?? ? ? ? ? ?$(form).attr('target', frameId); ?

?? ? ? ? ? ?if(form.encoding) ?

?? ? ? ? ? ?{ ?

?? ? ? ? ? ? ? ?form.encoding = 'multipart/form-data'; ? ? ? ? ? ? ? ?

?? ? ? ? ? ?} ?

?? ? ? ? ? ?else ?

?? ? ? ? ? ?{ ? ? ? ? ? ? ? ??

?? ? ? ? ? ? ? ?form.enctype = 'multipart/form-data'; ?

?? ? ? ? ? ?} ? ? ? ? ? ??

?? ? ? ? ? ?$(form).submit(); ?

??

?? ? ? ?} catch(e) ??

?? ? ? ?{ ? ? ? ? ? ??

?? ? ? ? ? ?jQuery.handleError(s, xml, null, e); ?

?? ? ? ?} ?

?? ? ? ?if(window.attachEvent){ ?

?? ? ? ? ? ?document.getElementById(frameId).attachEvent(' uploadCallback); ?

?? ? ? ?} ?

?? ? ? ?else{ ?

?? ? ? ? ? ?document.getElementById(frameId).addEventListener('load', uploadCallback, false); ?

?? ? ? ?} ? ? ? ??

?? ? ? ?return {abort: function () {}}; ??

??

?? ?}, ?

??

?? ?uploadHttpData: function( r, type ) { ?

?? ? ? ?var data = !type; ?

?? ? ? ?data = type == "xml" || data ? r.responseXML : r.responseText; ?

?? ? ? ?// If the type is "script", eval it in global context ?

?? ? ? ?if ( type == "script" ) ?

?? ? ? ? ? ?jQuery.globalEval( data ); ?

?? ? ? ?// Get the JavaScript object, if JSON is used. ?

?? ? ? ?if ( type == "json" ) ?

?? ? ? ? ? ?eval( "data = " + data ); ?

?? ? ? ?// evaluate scripts within html ?

?? ? ? ?if ( type == "html" ) ?

?? ? ? ? ? ?jQuery("<div>").html(data).evalScripts(); ?

?? ? ? ? ? ?//alert($('param', data).each(function(){alert($(this).attr('value'));})); ?

?? ? ? ?return data; ?

?? ?} ?

}) ?

?

使用方法如下:

?

$.ajaxFileUpload({ ?

?? ? ? ?url: '/ajax/mine/uploadLogo', ?

?? ? ? ?secureuri:false, ?

?? ? ? ?fileElementId:'input_logo', ?

?? ? ? ?dataType: 'json', ?

?? ? ? ?data: {//加入的文本參數(shù) ?

?? ? ? ? ? ?"logoPath": "param1", ?

?? ? ? ? ? ?"logoName": "param2" ?

?? ? ? ?}, ?

?? ? ? ?success: function(data) { ?

?? ? ? ? ? ? ?

?? ? ? ?}, ?

?? ? ? ?error: function() { ?

?? ? ? ? ? ?showError("上傳失敗,請檢查文件是否符合格式要求。"); ?

?? ? ? ??} ?

?? ?}); ?

?

?

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的ajaxfileupload带参数上传文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产xxxxx| 国产免费一区,二区 | 69视频在线播放 | 亚洲久草视频 | 一区二区三区在线免费观看视频 | 男女一级特黄 | 涩涩av | 超碰人人人人 | 97成人人妻一区二区三区 | 国产不卡视频在线观看 | 日本黄网站色大片免费观看 | 国产精品88久久久久久妇女 | 天天综合av | 日韩一区二区三区四区在线 | a级免费视频 | 国产精品九 | 国产不卡av在线播放 | 一级黄色免费网站 | 国产盗摄在线观看 | 中年夫妇啪啪高潮 | 91玉足脚交嫩脚丫在线播放 | 日韩国产成人在线 | 亚色av | 91色区| 污视频在线观看网站 | 国产做爰xxxⅹ久久久精华液 | 日韩sese | 亚洲精品丝袜 | 天天爽天天 | www欧美com| 波多野结衣视频免费看 | 国产成人欧美一区二区三区91 | 超碰在线免费公开 | 搡老熟女老女人一区二区 | 91蜜臀精品国产自偷在线 | 蜜臀久久精品 | 国产成人精品久久二区二区91 | 爱吃波客今天最新视频 | 天堂va蜜桃一区二区三区 | 亚洲AV无码国产成人久久 | 手机在线观看av网站 | 国产美女白浆 | 91社区在线播放 | 成人免费黄色av | 亚洲乱轮| 欧美特级特黄aaaaaa在线看 | 丰满少妇一区二区三区视频 | 九九久久国产精品 | 人人爱人人看 | 高清欧美精品xxxxx在线看 | 久久久久亚洲av无码网站 | 成人免费一区二区三区在线观看 | 亚洲黄色影视 | 精品一区二区成人免费视频 | 九九热国产视频 | 他趴在我两腿中间添得好爽在线看 | 国模在线观看 | 日韩涩 | 影音先锋男人资源网站 | 三上悠亚影音先锋 | 日韩福利视频在线观看 | 亚洲欧美日韩在线看 | www黄色片网站 | 日日干天天射 | 精品人妻天天爽夜夜爽视频 | 国产精品久久久久久亚洲毛片 | 豆国产97在线 | 亚洲 | 国产一区二区在线播放 | 炕上如狼似虎的呻吟声 | 亚洲伦理网 | 久久丝袜美腿 | 少妇福利视频 | 日本性生活一级片 | 中文字幕大全 | 国产精品免费在线播放 | 在线免费观看黄网站 | 丰满大肥婆肥奶大屁股 | 无码人妻精品一区二区三区99日韩 | 女性毛片| 一级黄色大片 | 91精品国产一区二区在线观看 | 国产精品麻豆成人av电影艾秋 | 欧美综合自拍亚洲综合图片区 | 潘金莲一级淫片aaaaa | 无码人妻精品一区二区三区在线 | 色女生影院 | 秋霞视频在线观看 | 免费观看污网站 | 国产女厕一区二区三区在线视 | www夜片内射视频日韩精品成人 | 日本成人a | 欧美成人不卡 | 日韩精品理论 | 浮生影视在线观看免费 | 啪啪日韩| 国产乱了高清露脸对白 | 天堂精品在线 | 国产成人精品一区二区色戒 | av看片在线|