【发布时间】:2012-07-16 21:37:40
【问题描述】:
我的网站上有一个输入,允许用户选择要上传的文件
<input type="file" name="file" id="file" />
在我的页面末尾,我有一个调用 javascript 函数的按钮。该函数需要检查用户是否指定了要上传的文件,如果是,则上传文件(php)并获取文件名。
如何从 javascript 访问文件输入表单?即如何获取“发布”文件信息以调用“upload_file.php”。
ps。我宁愿不使用 JQuery
编辑 - 我已经尝试过,但它似乎不起作用
function uploadFile(){
var files = document.getElementById('file');
var file = files.files[0];
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
alert(xmlhttp.responseText);
}
}
xmlhttp.open("POST","uploadfile.php",true);
xmlhttp.setRequestHeader("Content-type", "multipart/form-data")
var formData = new FormData();
formData.append("thefile", file);
xmlhttp.send(formData);
}
php:
<?php
echo "Upload: " . $_FILES["thefile"]["name"] . "<br />";
echo "Type: " . $_FILES["thefile"]["type"] . "<br />";
echo "Size: " . ($_FILES["thefile"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["thefile"]["tmp_name"] . "<br />";
?>
提示我文件名为空、类型为空、大小为 0 等...
【问题讨论】:
-
提交?如何?普通的表单提交,还是 AJAX(使用 XHR2)?
-
哦,对不起。 AJAX - 用户没有离开页面。另外,我认为使用 XHR2
标签: javascript html