關於Uplodify與Jfinal搭配的一些問題

問題:post方式下,設置formData在後臺取不到參數php

Uploadify與jFinal都使用了最新版本html

在使用Uploadify時,我嘗試經過設置formData參數向後臺傳遞一個存儲上傳文件的文件夾名稱html5

代碼以下:安全

$(function() {
			$('#file_upload').uploadify({
				'swf' : '/js/Uploadify/uploadify.swf',
				'uploader' : '/system/file/image',
				'buttonText' : "選擇圖片",
				'method' : "post", //指定文件上傳時上傳控件的提交方法,post 或者get
				'multi' : 'false', //指定在選擇上傳文件時,是否容許同時選中多個,true(能夠選中多個,默認值),false(只能選中一個)

				//指定是否容許文件加入上傳隊列後自動開始上傳, true(容許自動上傳,默認值),false(關閉自動上傳)
				'auto' : true,

				//指定檢查文件是否已經存在的action,action返回值:1(存在),0(不存在)
				// 'checkExisting': '/system/file/checkexists',

				//指定文件上傳大小的限制,能夠傳入數字與字符串,傳入數字時,默認單位是kb,傳入字符串時,要求值與單位一塊兒傳入(B, KB, MB, or GB)
				//若無限制,可指定爲0(默認值)
				'fileSizeLimit' : 0,

				//指定在服務端用於獲取該上傳文件對象的名稱,在php中可用$_FILES['the_files']
				'fileObjName' : 'upfile',

				//指定在彈出選擇文件的對話框時,在可選文件類型下拉框中的選定值,默認:「All Files」 ,需與fileTypeExts聯合使用
				'fileTypeDesc' : 'All Files',

				//容許上傳的文件擴展名列表,多個擴展名用分號分隔,這是不安全的,客戶端手動更改文件擴展名,便可繞過驗證,服務端仍需驗證
				'fileTypeExts' : '*.gif; *.jpg; *.png',

				//在初始化時指定上傳時,傳遞到服務端的參數,這裏指定的參數每次上傳都會傳入,
				// 若要動態指定傳入參數,可使用setting方法在onUploadStart事件中指定
				//服務端根據客戶端採用get仍是post請求方式,來使用相應方法獲取數據
				'formData': {"folder": "images"}				
			});
		});

在後臺的action中嘗試 使用getPara("folder")來獲取參數「folder」,獲取不到。post

網上有人說,先使用getFile獲取文件而後,就能獲取到參數了,一試,果真可行。url

可是有的時候須要先獲取folder參數,咱們可使用get方式提交,這個時候,實際上是把參數做爲queryString拼接到請求的url後面,也就是使用了url傳參方式。spa

另外發現,若是在url後面傳遞一個其餘的url參數,仍然使用post提交,則後臺能正常獲取數據。code

綜合來講,這應該是jfinal在處理傳參時的一個小bug,並且html5有FormData API,不知道jFinal是否能正常取值?orm

但願將來的JFinal能考慮修復吧。htm

相關文章
相關標籤/搜索