我刚刚花了4个小时进行研究,但没有什么能解决我的问题,所以我来了。我正在尝试设计我自己的小区块文件上传器,一切都很好。
我有一个主上传页面,可以让你设置一个文件上传。然后,它自动从文件的字节中剪切出第一个块,并将其与其他一些信息一起放入一个表单中:
<form id="hiddenform" name="hiddenform" action="SecretChunkUploader.php" target="iframe" enctype="multipart/form-data" method="post">
<hidden id="Bytes" name="Bytes" value="" />
<hidden id="Pass" name="Pass" value="<?php echo $_POST['Pass'];?>" />
<hidden id="FileName" name="FileName" value="" />
<hidden id="PackageNumber" name="PackageNumber" value="" />
</form>
当通过以下javascript命令提交表单时,每个<hidden>
都会正确发送其值:
document.forms["hiddenform"].submit();
表格提交给iframe:
<iframe id="iframe" name="iframe" onload="" style="display:block"></iframe>
提交时,iframe将导航到表单的action属性中指定的页面。
除了收到表格外,一切都很顺利。页面加载,但没有post数据,并且没有设置post的变量。
以下是SecretChunkUploader.php:的代码
<?php
echo "Password: ".$_POST["Pass"]."<br/>";
echo "FileName: ".$_POST["FileName"]."<br/>";
echo "PackageNumber: ".$_POST["PackageNumber"]."<br/>";
echo "Bytes: ".$_POST["Bytes"];
?>
从SecretChunkUploader.php加载的页面看起来像:
Password:
FileName:
PackageNumber:
Bytes:
我试过测试isset(),但它对所有的post变量都返回了false。
我到底做错了什么?我已经测试过了,知道这个表单是完全有效的,只是它没有传递值。
提前感谢您的帮助!
代替:
<hidden id="Bytes" name="Bytes" value="" />
尝试:
<input type="hidden" id="Bytes" name="Bytes" value="" />
当然,其他人也是如此。