2017-03-02 239 views
0

我正在使用FineUploader上传文件。我使用他们的PHP的传统服务器在FineUploader中获取上传文件的文件路径

https://github.com/FineUploader/php-traditional-server

https://docs.fineuploader.com/quickstart/03-setting_up_server.html

我也使用jquery.fine-uploader.js

这被在页面中循环,这样在初始化每个“房间”得到像这样的精细上传

<div id="<?php echo preg_replace("/[^A-Za-z0-9]/", "_", strtoupper($room->room_name)); ?>"></div> 


    <script> 
     $('#<?php echo preg_replace("/[^A-Za-z0-9]/", "_", strtoupper($room->room_name)); ?>').fineUploader({ 
      template: 'qq-template-gallery', 
      request: { 
       endpoint: '/fine-uploader/server/endpoint.php' 
      }, 
      thumbnails: { 
       placeholders: { 
        waitingPath: '/fine-uploader/placeholders/waiting-generic.png', 
        notAvailablePath: '/fine-uploader/placeholders/not_available-generic.png' 
       } 
      }, 
      validation: { 
       allowedExtensions: ['jpeg', 'jpg', 'gif', 'png'] 
      } 
     }); 
    </script> 

我有这个工作正常,它完美上传文件。这是我困住的难题的最后一块。我想知道的是如何获取上传文件的文件路径?我可以看到这些文件正在上传,并可以通过ftp查看路径。我想是某种“完成时”,让我作为一个JavaScript变量的文件路径。然后我会用这个来添加包含文件路径的隐藏输入的表单。我确切地知道如何做后半部分。我需要知道的是,如何获取上传文件成功的文件路径?

任何帮助,将真正的赞赏

编辑

我制定了我可以从qq.getFilename文件名,现在如果我只能得到UID我的问题就迎刃而解了

回答

0

我解决了它!

我需要添加一个回调的onComplete。在这个例子中,我只是CONSOLE.LOG其中包含uid和文件名的响应。从这我可以建立我需要的网址

$('#id-of-fine-uploader-div').fineUploader({ 
      template: 'qq-template-gallery', 
      request: { 
       endpoint: '/fine-uploader/server/endpoint.php' 
      }, 
      thumbnails: { 
       placeholders: { 
        waitingPath: '/fine-uploader/placeholders/waiting-generic.png', 
        notAvailablePath: '/fine-uploader/placeholders/not_available-generic.png' 
       } 
      }, 
      validation: { 
       allowedExtensions: ['jpeg', 'jpg', 'gif', 'png'] 
      }, 
      callbacks: { 
       onComplete: function(id, name, responseJSON, maybeXhr) {console.log(responseJSON)} 
      } 
     }); 
+0

是否有任何理由你在这里使用jQuery包装?看起来你不需要。请注意,该包装将在v6.0中完全删除。 –