我有两个名为form1,form2的表单。一个带有文本字段的表单,另一个带有文件输入。我需要向服务器端伪造一个POST请求,其中包含文本字段和文件输入的内容。阅读文本字段的内容很容易。但是我无法找到如何读取文件输入内容以及如何使用文件输入伪造POST请求。
有人知道吗,有可能吗?
答案 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
发送文件?如果是这样,您将需要使用XMLHttpRequest2
,XMLHttpRequest
的第二个版本,它现在支持从用户的计算机上传二进制文件。
有关HTML5 Rocks的指南。