2012-04-09 3 views
0

У меня есть приложение here, где пользователь добавляет строку таблицы и отображает входной файл в строке. Теперь проблема заключается в том, что если вы выберете файл с помощью ввода и нажмите «Загрузить», он всегда заявляет, что при загрузке файла происходит ошибка, это происходит для любого файла.Он всегда отображает ошибку при загрузке файла

Я установил разрешения для файла, чтобы читать и писать, но он все еще утверждает, что при загрузке файла возникает ошибка. Если кто-то использовал загрузчик файлов AJAX MAx и ранее имел эту проблему, но затем исправил его, я могу спросить, как вы решили эту проблему. Если нет, то есть ли другие способы решить эту проблему, чтобы она перестала отображать сообщение об ошибке для совершенно законной загрузки файлов и вместо этого отображала загруженное успешное сообщение файла.

Когда я протестировал тот же код в этой ссылке, который использует другой сервер: [er5325.aisites.com/scripts/stack/test.html, тогда он не отображается, появляется сообщение об ошибке при загрузке законного файла.

Я использую сервер университета, который helios.hud.ac.uk

Ниже приведен код входного файла и функций, чтобы остановить и начать загрузку:

<script type="text/javascript"> 
    var sourceForm; 

    function insertQuestion(form) { 

     var $tbody = $('#qandatbl > tbody'); 
     var $tr = $("<tr class='optionAndAnswer' align='center'></tr>"); 
     var $image = $("<td class='image'></td>"); 


     var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='startUpload(this);' class='imageuploadform' >" + 
     "<p class='imagef1_upload_process' align='center'>Loading...<br/><img src='Images/loader.gif' /><br/></p><p class='imagef1_upload_form' align='center'><br/><label>" + 
     "File: <input name='fileImage' type='file' class='fileImage' /></label><br/><label>" + 
     "(jpg, jpeg, pjpeg, gif, png, tif)</label><br/><br/><label>" + 
     "<input type='submit' name='submitBtn' class='sbtn' value='Upload' /></label>" + 
     "</p> <iframe class='upload_target' name='upload_target' src='#' style='wclassth:0;height:0;border:0px;solclass #fff;'></iframe></form>"); 

     $image.append($fileImage); 

     $tr.append($image); 
     $tbody.append($tr); 

    } 

    function startUpload(imageuploadform){ 
    $(imageuploadform).find('.imagef1_upload_process').css('visibility','visible'); 
    $(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden'); 
    sourceForm = imageuploadform; 
     return true; 
} 

    function stopUpload(success){ 
      var result = ''; 
      if (success == 1){ 
      result = '<span class="msg">The file was uploaded successfully!<\/span><br/><br/>'; 
      } 
      else { 
      result = '<span class="emsg">There was an error during file upload!<\/span><br/><br/>'; 
      } 
      $(sourceForm).find('.imagef1_upload_process').css('visibility','hidden'); 
      $(sourceForm).find('.imagef1_upload_form').html(result + '<label>File: <input name="fileImage" type="file"/><\/label><br/><label>(jpg, jpeg, pjpeg, gif, png, tif)</label><br/><br/><label><input type="submit" name="submitBtn" class="sbtn" value="Upload" /><\/label>'); 
      $(sourceForm).find('.imagef1_upload_form').css('visibility','visible');  
      return true; 
    } 
    </script> 

Ниже страница загрузки (imageupload.php), где он закачивает файлы:

<?php 
    // Edit upload location here 
    $destination_path = getcwd().DIRECTORY_SEPARATOR; 

    $result = 0; 

    $target_path = $destination_path . basename($_FILES['fileImage']['name']); 

    if(@move_uploaded_file($_FILES['fileImage']['tmp_name'], $target_path)) { 
     $result = 1; 
    } 

    sleep(1); 
?> 

<script language="javascript" type="text/javascript">window.top.window.stopUpload(<?php echo $result; ?>);</script> 
+0

Возможный дубликат [Он всегда указывает на наличие ошибки при загрузке файла] (http://stackoverflow.com/questions/10065320/it-always-states-there-is-an-error-while-uploading- a-file) – epascarello

+0

УДАЛИТЬ это, так как вы создали его во второй раз. – epascarello

+0

удалил предыдущее сообщение – user1304328

ответ

0

Я не могу следовать код, но, возможно, работать startUpload (source_form) не делает то, что вы хотите, чтобы это сделать. Вы используете одно и то же имя для локальной переменной, чем глобальная переменная, затем пишите что-то вроде sourceForm = source_form; это не будет иметь никакого эффекта. Возможно, вы можете найти способ избежать глобальных переменных или переименовать локальную переменную в нечто другое.

function startUpload(imageuploadform){ 
    $(imageuploadform).find('.imagef1_upload_process').css('visibility','visible'); 
    $(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden'); 
    sourceForm = imageuploadform; 
     return true; 
} 

Я не знаю, имеет ли это какое-либо отношение к ошибке, но сделает ваш код менее странным.

Вы проверили, что ваш скрипт может писать файлы, где вы пытаетесь? имеете ли вы доступ к журналу сервера для проверки соответствующих ошибок?

+0

Я изменил код, не исправил ошибку, но вы правы, так как он выглядит менее странным, я обновил код выше, чтобы включить изменение переменной – user1304328

Смежные вопросы