我一直在尝试创建并提交一个带有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”;然后反馈给'元素'提交?
2014-02-07
SparkyNZ
+3
首先,应该使用'document.createElement(“input”)'而不是'document.createElement(“file”)来创建输入文件元素;' –
+0
您的代码无法工作,您正尝试实现一个不可能完成的任务我猜 –