Всем здрасти, не получается отправить файл на сервер, с обычной формы файл.php принимает и сохраняет, а c помощью new XMLHttpRequest() шлёт ответ что запрос принят, но не сохраняет файл, скорее всего проблема в заголовках отправляемых скриптом, помогите разобраться| Код | <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>отправка</title> </head> <body> <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> </body> </html>
|
|