代码之家  ›  专栏  ›  技术社区  ›  Ibrahim Azhar Armar

使用Uploadify返回文件名时出现问题

  •  0
  • Ibrahim Azhar Armar  · 技术社区  · 15 年前

    我正在使用Uploadify插件上传图片,我正在做一些操作,比如

    a) 当用户上载文件时,“上载”按钮将自动删除 b) 以及上传.php脚本将重命名文件并将其存储在指定的目录中。

    这是我用来执行这个动作的代码。

    Jquery代码:

    <script type="text/javascript">
    $(document).ready(function() {
        $('#fileUpload, #fileUpload2').uploadify({ 
          'uploader': 'img/uploadify.swf',
          'script': 'uploadify.php',
          'folder': 'upload',
          'auto' : 'true',
          'cancelImg': 'img/cancel.png',
          'fileDesc': 'jpg/jpeg',
          'displayData': 'percentage',
          'fileExt': "*.jpg;*.jpeg",
          'sizeLimit' : '8388608',
          'fileDataName' : 'file',
          onComplete : function(event, queueID, fileObj, reposnse, data) 
          {
         $('#filesUploaded').append('<a href='+fileObj.filePath+'>'+fileObj.name+'</a><br>');
         $("#firstUpload").remove();
          }
          }); }); 
          </script>
    

    但是当我想查看文件名时,我通过调用div

    <div id="filesUploaded"></div>
    

    '+fileObj.name+' to '+response+'

    我猜问题在上述代码中文件.Obj.name打印选定的文件名,而不是已处理的文件,当我将其更改为+response+时,它将上载文件并对其重命名,但在表单页中,它不会打印重命名的文件名。它冻结与进度栏组成100%的进度。

    如何打印重命名的文件名。?

    编辑:这是我的PHP代码。

    <?php
    include('database.php');
    $date = date("dFY");
    $query = "SELECT MAX(id) as max_id FROM news";
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);
    $max_id = $row['max_id']+1;
    echo $max_id;
    $file1 = "file_$date"."_$max_id.jpg";
    if (!empty($_FILES)) {
        $tempFile = $_FILES['file']['tmp_name'];
        $targetPath = 'upload/';
    move_uploaded_file($tempFile,$targetPath.$file1);
    }
    ?>
    
    2 回复  |  直到 15 年前
        1
  •  1
  •   shamittomar    15 年前

    问题来了。Javascript代码有一个输入错误。你已经写好了 reposnse 而不是 response onComplete

     onComplete : function(event, queueID, fileObj, response, data)
    

    然后当你做了 +response+ ,脚本将不会挂起并显示MaxID(您从PHP脚本输出)。

        2
  •  4
  •   Ibrahim Azhar Armar    12 年前

    对我来说这不管用。我在寻找类似的东西-这就是我的工作:

    'onUploadSuccess' : function(file, data, response) {
        alert('The file ' + file.name + ' was successfully uploaded with a response of ' + response + ':' + data);
    }
    

    在我的情况下,我用我的上传.php为了创建一个唯一的文件名,我使用了echo$filename,而不是'1'。这样,“data”总是包含最新的文件名。

    推荐文章