我的网站上有一个输入,允许用户选择要上传的文件
<input type="file" name="file" id="file" />
在我的页面末尾,我有一个调用 javascript 函数的按钮。该函数需要检查用户是否指定了要上传的文件,如果是,则上传文件(php)并获取文件名。
如何从 javascript 访问文件输入表单?即我怎样才能获得'post' 文件信息来调用'upload_file.php'。
附言。我宁愿不使用 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 等等......