我一直在嘗試創建並提交一個帶有JavaScript的表單,用於將文件上傳到我的Web服務器。我讀過input type="file"
由於安全原因無法通過JavaScript自動填充。既然如此,我怎樣才能發送一個POST命令來上傳我的文件?用於文件上傳的HTML表單 - 由JavaScript生成
我意識到下面的代碼片段不會工作,因爲這個事實,但我怎麼能做到這一點?
我最終希望做的是調用這個函數來獲取用戶拖放的大量文件,這樣他們就會在數組中。我的網絡服務器上沒有PHP(它只會提供簡單的HTTP命令)。
function uploadFile(fileName)
{
var form = document.createElement("form");
var element1 = document.createElement("file");
form.method = "post";
form.action = "upload.html";
form.enctype = "multipart/form-data";
form.charset = "utf-8";
element1.value = "/Temp/TestFile.txt";
element1.name = "upload1";
form.appendChild(element1);
document.body.appendChild(form);
form.submit();
}
閱讀湯姆提供的第一個鏈接後,這是我想出了:
function uploadFile(fileName)
{
var form = document.createElement("form");
var element1 = document.createElement("file");
form.method = "post";
form.action = "upload.html";
form.enctype = "multipart/form-data";
form.charset = "utf-8";
element1.value = "/JScript/TestText.txt"
element1.id = "fileselect";
element1.name = "fileselect[]";
element1.multiple = "multiple";
form.appendChild(element1);
document.body.appendChild(form);
form.submit();
}
..但我不明白,使用fileselect []的..我會理解爲一個數組,但是如何填充一個數組然後將其分配回HTML元素?舉例來說,我只有一個文件可以發回,它是/JScript/TestText.txt。我如何分配fileselect [0] =「/ JScript/TestText.txt」;然後反饋給'元素'提交?
首先,應該使用'document.createElement(「input」)'而不是'document.createElement(「file」)來創建輸入文件元素;' – fiddler
您的代碼無法工作,您正嘗試實現一個不可能完成的任務我猜 – Sora