Uploadify, Зависающий наугад на 100%

Я использую Uploadify, чтобы позволить моим пользователям загрузить изображения с помощью моего веб-приложения.

Проблема, которую я имею, состоит в том, что время от времени (в какой, кажется, случайно), когда индикатор выполнения достигает 100%, он 'подвешивает' и ничего не делает.

Я задавался вопросом, может ли у каких-либо разработчиков, знакомых с uploadify, быть какая-либо идея, как решить это? Я нахожусь в отчаянной потребности некоторой справки.

Вот мой код фронтенда:


jQuery(document).ready(function() {
 jQuery("#uploadify").uploadify({
  'uploader'       : 'javascripts/uploadify.swf',
  'script'         : 'upload-file2.php',
  'cancelImg'      : 'css/images/cancel.png',
  'folder'         : 'uploads/personal_images/' + profileOwner,
  'queueID'        : 'fileQueue',
  'auto'           : true,
  'multi'          : true,
  'fileDesc'       : 'Image files',
     'fileExt'        : '*.jpg;*.jpeg;*.gif;*.png',
  'sizeLimit'      : '2097152',
  'onComplete': function(event, queueID, fileObj, response, data)
  {
   processPersonalImage(fileObj.name);
   arrImgNames.push(fileObj.name);
   showUploadedImages(true);
   document.getElementById("photos").style.backgroundImage = "url('css/images/minicam.png')";
  },
  'onAllComplete'  : function()
  {
     completionMessage(arrFailedNames);
     document.getElementById("displayImageButton").style.display = "inline";
     document.getElementById("photos").style.backgroundImage = "url('css/images/minicam.png')";
  },
  'onCancel'  : function()
  {
     arrImgNames.push(fileObj.name);
     arrFailedNames.push(fileObj.name);
     showUploadedImages(false);
  },
  'onError'  : function()
  {
     arrImgNames.push(fileObj.name);
     arrFailedNames.push(fileObj.name);
     showUploadedImages(false);
  }
 });
});

И сторона сервера:

 if (!empty($_FILES)) 
 {
  //Get user ID from the file path for use later..
  $userID = getIdFromFilePath($_REQUEST['folder'], 3); 
  $row = mysql_fetch_assoc(getRecentAlbum($userID, "photo_album_personal"));
  $subFolderName = $row['pk'];
     //Prepare target path / file..
  $tempFile = $_FILES['Filedata']['tmp_name'];
  $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/'.$subFolderName.'/';
  $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
  //Move uploaded file from temp directory to new folder
  move_uploaded_file($tempFile,$targetFile);
  //Now add a record to DB to reflect this personal image..
  if(file_exists($targetFile))
  {
   //add photo record to DB
   $directFilePath = $_REQUEST['folder'] . '/'.$subFolderName.'/' . $_FILES['Filedata']['name'];
   addPersonalPhotoRecordToDb($directFilePath, $row['pk']);
  }
  echo "1";
  die(true);
 }

спасибо за любую справку!!

8
задан RedFilter 17 May 2010 в 16:51
поделиться

4 ответа

это похоже на ошибку php. Я бы использовал Fiddler или аналогичную проблему для просмотра ответа php или подобного. Проверьте свои журналы ошибок php, они могут пролить свет.

2
ответ дан 5 December 2019 в 23:14
поделиться

У меня была похожая проблема некоторое время назад с Uploadify (правда, с использованием ASP.Net MVC) - но вы определенно найдете полезную информацию относительно обработки событий и поведения Uploadify в опубликованном ответе! Он доступен здесь

2
ответ дан 5 December 2019 в 23:14
поделиться

Вот шаги, которые я бы предпринял по порядку:

1) Будьте на 100% уверены, что вы получаете ответ 200 от вашего сервера. Если нет, то проблема в этом

2) Используйте самую последнюю версию uplaodify и jquery

3) Проверьте наличие ошибок JS (будет работать консоль firebug или отладчик JS браузера)

4) Обновите свой Flash-плеер ( если это решает проблему, вам может потребоваться более высокая версия)

5) Поместите операторы отладки в источник uploadify, особенно в полный обработчик, чтобы убедиться, что он вызывается

6) Если прогресс достигает 100%, но обработчик никогда не вызывается, я боюсь, что следующим шагом может быть погружение в сценарий действий и использование отладчика или некоторых операторов трассировки, чтобы выяснить, где находится ошибка. Это может означать, что есть ошибка при вызове функции внешнего интерфейса

7) Если вы вносите исправления, отправьте обратно на uploadify

0
ответ дан 5 December 2019 в 23:14
поделиться

Восстановите ваш файл php.ini для параметра post_max_size . Это должен быть параметр> = upload_max_filesize . Подробнее см. http://php.net/post-max-size .

0
ответ дан 5 December 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: