1

我正在尝试使用 Blueimp jQuery File Upload File 程序https://github.com/blueimp/jQuery-File-Upload。我搜索了 wiki 和文档,但找不到如何过滤可供下载的文件的答案。

我在经过验证的“受保护”区域内使用它。我已经成功地为所有上传的文件添加了一个唯一的 id(例如 UID-filename.jpg ),我将在经过身份验证的会话中使用它。所以我所要做的就是只选择具有正确 UID 的那些。

显示下载表的 jquery 代码是:

<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<!--    <tr class="template-download fade">-->
    <tr class="template-download ">
    {% if (file.error) { %}
        <td></td>
        <td class="name"><span>{%=file.name%}</span></td>
        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
        <td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
    {% } else { %}
        <td class="preview">{% if (file.thumbnail_url) { %}
            <a href="{%=file.url%}" title="{%=file.name%}" rel="gallery" download="{%=file.name%}"><img src="{%=file.thumbnail_url%}"></a>
        {% } %}</td>
        <td class="name">
            <a href="{%=file.url%}" title="{%=file.name%}" rel="{%=file.thumbnail_url&&'gallery'%}" download="{%=file.name%}">{%=file.name%}</a>
        </td>
        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
        <td colspan="2"></td>
    {% } %}
    <td class="delete">
        <button class="btn btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}">
            <i class="icon-trash icon-white"></i>
            <span>{%=locale.fileupload.destroy%}</span>
        </button>
        <input type="checkbox" name="delete" value="1">
    </td>
</tr>

我在 JS/Jquery 方面不是很有经验。我会很感激任何关于下一步做什么的想法。是否有人熟悉过滤这些文件的设置/选项。或者,我假设该文件是我怀疑可以过滤的文件名或路径数组。在 PHP 中,我可能会使用 glob 函数。有没有人在 JS 中有这方面的经验?

先感谢您,

账单

4

1 回答 1

1

use the plugin http://sunnywalker.github.io/jQuery.FilterTable/ It works on any table and is easy to deploy.

Include dependencies:

<script src="/path/to/jquery.js"></script>
<script src="/path/to/bindWithDelay.js"></script> <!-- optional -->
<script src="/path/to/jquery.filtertable.js"></script>
<style>
    .filter-table .quick { margin-left: 0.5em; font-size: 0.8em; text-decoration: none; }
    .fitler-table .quick:hover { text-decoration: underline; }
    td.alt { background-color: #ffc; background-color: rgba(255, 255, 0, 0.2); }
</style> <!-- or put the styling in your stylesheet -->

enter the code

<script>
$('table').filterTable(); //if this code appears after your tables; otherwise, include it in your document.ready() code.
</script>

Okay! Good luck!

于 2014-09-17T20:00:59.860 回答