Показать сообщение отдельно
  #1 (permalink)  
Старый 24.10.2015, 23:36
Новичок на форуме
Отправить личное сообщение для Виктop Посмотреть профиль Найти все сообщения от Виктop
 
Регистрация: 24.10.2015
Сообщений: 2

отправление файла XMLHttpRequest()
Всем здрасти, пытаюсь отправить файл на сервер не перезагружая страницы, получаю от сервера ответ: ответ получен
Notice: Array to string conversion in /home/server/test/test.php on line 9 img=Array, но файл не загружается на сервер, на всякий случай приложу файл.php, хотя к нему вопросов нет, с обычной html формы он файл сохраняет, проблема в скрипте, скорее всего в отправляемых заголовках
<?php
ini_set("display_errors", "1");
error_reporting(E_ALL);
move_uploaded_file($_FILES['img']['tmp_name'], "/home/uf/".$_FILES['img']['name']);
echo "ответ получен";
$arr=array();
$arr=$_FILES;
foreach ($arr as $key => $value) {
   echo "$key".'='."$value";
}
?>

<form name="form1" enctype="multipart/form-data">
  <input type="file" name="img" id="img" />
  <br />
  <input type="button" value="Отправить" onclick="upload(form1)" />
  <p>Ответ: <span id="res"></span></p>
</div>
<script type="text/javascript">
function upload(form1)
	{
	var form = document.form1;
	var img = form.img.value;
	var boundary = String(Math.random()).slice(2);
	var file = ['\r\n--'+boundary+'\r\nContent-Disposition: form-data; name="img"; filename="image.jpg"\r\nContent-Type: image/jpeg\r\n\r\n'+img+'\r\n --'+boundary+'--\r\n'];
    var xmlhttp = new XMLHttpRequest(); // Создаём объект XMLHTTP
    xmlhttp.open('POST', 'test.php', true); // Открываем асинхронное соединение
    xmlhttp.setRequestHeader('Content-Type', 'multipart/form-data; boundary=' + boundary); // Отправляем кодировку
    xmlhttp.send(file); // Отправляем POST-запрос
    xmlhttp.onreadystatechange = function() // Ждём ответа от сервера
		{
		if (xmlhttp.readyState == 4) // Ответ пришёл
			{
			if(xmlhttp.status == 200) // Сервер вернул код 200 (что хорошо)
				{
				document.getElementById("res").innerHTML = xmlhttp.responseText; // Ответ сервера
				}
			}
		}
	}
</script>

Последний раз редактировалось Виктop, 25.10.2015 в 03:14.
Ответить с цитированием