1
我在IE中使用Dojo 1.6 dojox.form.Uploader。這使用dojox.form.uploader.plugins.Flash插件來完成上傳。在Firefox中,HTML5的使用和我可以通過調用提交與一起上傳其他形式的數據:用於IE的Dojo 1.6多文件Flash上傳器的表單數據?
uploaderDijit.upload({paramName:"paramValue"});
但在IE瀏覽器,Flash版本的上傳功能不走FORMDATA說法。有什麼方法可以使用Flash插件提交其他數據以及文件上傳?
這裏是我的示例代碼:
dojo.require("dojox.form.Uploader");
dojo.require("dojox.form.uploader.FileList");
dojo.require("dojox.form.uploader.plugins.Flash");
function doUpload(){
dijit.byId("uploader").upload({param: "paramValue"});
}
function onload(){
// create uploader & file list dijits
var uploaderDijit = new dojox.form.Uploader({
id: "uploader",
url: "MyApp/MyServlet",
multiple: true
});
var fileListDijit = new dojox.form.uploader.FileList({uploader:uploaderDijit});
// insert dijits into html
var formNode = dojo.byId("multiUploadForm");
var uploaderDiv = document.createElement("div");
formNode.appendChild(uploaderDiv);
uploaderDiv.appendChild(uploaderDijit.domNode);
uploaderDiv.appendChild(fileListDijit.domNode);
}
dojo.addOnLoad(onload);
和:
<form id="multiUploadForm" method="post" enctype="multipart/form-data" encoding="multipart/form-data"></form>
<button onclick="javascript:doUpload();">Upload</button>
我試圖增加一個輸入節點到窗體:
<form id="multiUploadForm" method="post" enctype="multipart/form-data" encoding="multipart/form-data">
<input type="hidden" name="param" value="paramValue"/>
</form>
而且我也試過追加參數到url,但沒有骰子:
var uploaderDijit = new dojox.form.Uploader({
id: "uploader",
url: "MyApp/MyServlet?param=paramValue",
multiple: true
});
感謝您指出這一點,我會給1.7.2一個嘗試,因爲有一個明顯的區別。 1.6代碼不處理formData參數。 – tekkgurrl
它使用1.7.2,謝謝! – tekkgurrl
很高興聽到:)道具! – mschr