Форумы портала PHP.SU » » Работа с файловой системой и файлами » Загрузка файла на сервер через input с помощью Jquery и Ajax

Страниц (1): [1]
 

1. romants - 13 Марта, 2016 - 11:24:03 - перейти к сообщению
Задача: с помощью Jquery и Ajax отправить на сервер файл, выбранный через input.

Имеется код input-a (не находится в <form>):
CODE (html):
скопировать код в буфер обмена
  1. <input type="file" class="inputFileForSend" name="userpic" onchange="uplodeFileForUserMessage(this)" />


Код Jquery+Ajax, получающие значение input-a и отправляющие на сервер:
CODE (javascript):
скопировать код в буфер обмена
  1. function uplodeFileForUserMessage(element)
  2. {
  3.   if($('.inputFileForSend').val() != '')
  4.   {
  5.     console.log(element.files);
  6.     var fd = new FormData();
  7.     fd.append("userpic", element.files[0]);
  8.     $.ajax({
  9.       url: 'upload-file',
  10.       type: "POST",
  11.       data: fd,
  12.       processData: false,
  13.       contentType: false,
  14.       success: function(data)
  15.       {
  16.         alert(data);
  17.       }
  18.     });
  19.   }
  20. }


PHP код на стороне сервера:
PHP:
скопировать код в буфер обмена
  1. if($_FILES['userfile']['size'] == 0)
  2. {
  3.   echo '0';
  4. }
  5. else
  6. {
  7.   echo '1';
  8. }


console.log(element.files); в консоли выдает то, что указано на приложенном изображении.

Проблема: после выбора файла и срабатывания клиентского скрипта сервер присылает 0, т.е. размер отправляемого файла равен 0.

С чем это может быть связана и как исправить?
2. Шмайсер - 13 Марта, 2016 - 12:33:06 - перейти к сообщению
Быть может, надо так
3. romants - 14 Марта, 2016 - 00:56:17 - перейти к сообщению
Шмайсер пишет:
Быть может, надо так


Результат тот же. Говорит что размер файла 0. Точнее само значение, полученное filesize($_FILES['userfile']), почему-то пустое, по этому выводит 0 в моем скрипте.
4. Viper - 14 Марта, 2016 - 01:35:56 - перейти к сообщению
что говорит?
5. Шмайсер - 14 Марта, 2016 - 07:55:13 - перейти к сообщению
а так
6. IllusionMH - 14 Марта, 2016 - 16:45:21 - перейти к сообщению
romants, а ничего что вы отправляете "userpic", а проверяете 'userfile'?
7. Viper - 14 Марта, 2016 - 17:36:57 - перейти к сообщению
IllusionMH там всё сложно Улыбка ТС не знает что такое дебаг.

 

Powered by ExBB FM 1.0 RC1