如何访问<input type =“file”/>内容?

时间:2011-09-09 05:55:32

标签: javascript html dom cappuccino

我有两个名为form1,form2的表单。一个带有文本字段的表单,另一个带有文件输入。我需要向服务器端伪造一个POST请求,其中包含文本字段和文件输入的内容。阅读文本字段的内容很容易。但是我无法找到如何读取文件输入内容以及如何使用文件输入伪造POST请求。

有人知道吗,有可能吗?

2 个答案:

答案 0 :(得分:0)

如果您将通过xmlHttpRequest(Ajax)执行此操作,则需要将标头声明为multipart/form-data。如果您已经在变量xmlhttp中有请求,我相信它会看起来像这样。

xmlhttp.open("POST", "file.php", true);
xmlhttp.setRequestHeader("Content-type","multipart/form-data");
xmlhttp.send(queryString());

在此示例中,您将在函数queryString()中使用配对值构建查询字符串,以便函数的输出看起来像name=value&name2=value2。我不是肯定的,但你发送文件数据并不重要。我确信有人会纠正我,如果我错了,但你至少可以试试这个。

答案 1 :(得分:0)

您是否尝试使用XMLHttpRequest发送文件?如果是这样,您将需要使用XMLHttpRequest2XMLHttpRequest的第二个版本,它现在支持从用户的计算机上传二进制文件。 有关HTML5 Rocks的指南。