Я пытаюсь отправить закачанный пользователем текстовый файл с помощью XMLHttpRequest со следующим кодом:Pass Plain Text File через XMLHttpRequest неудачу
HTML
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
Javascript
function Upload_Text()
{
var file = document.getElementById("file").files[0];
var table_type = 2;
if (document.myform.Table_Name_Text[0].checked == true) {table_type = 1;}
var Choose_Class = document.getElementById("Choose_Class").value;
var formData = new FormData();
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var result = xmlhttp.responseText;
alert(result);
}
}
var url = "Upload_Text.php";
url = url + "?table_type="+table_type;
url = url + "&Choose_Class="+Choose_Class;
formData.append("thefile", file);
xmlhttp.open('POST', url, true);
xmlhttp.send(formData);
}
Однако с следующий PHP-код, я не получаю никаких данных со стороны сервера текстового файла.
<?php
$file = $_FILES['thefile'];
$table_type=$_REQUEST["table_type"];
$Choose_Class=$_REQUEST["Choose_Class"];
$fh = fopen($file, 'r');
$theData = fread($fh, filesize($file));
fclose($fh);
echo $theData;
?>
Любая помощь с этим будет замечательной, спасибо.
Вы не можете загружать файлы с помощью AJAX легко. (Ну, вы можете с некоторыми трудностями с некоторыми браузерами, но я не нашел способ для IE, и каждый из них отличается. –
вам лучше отправить форму – ImadOS
Невозможно ли использовать объект FormData для обтекания текстового файла? –