1

我最近进行了一个项目来创建一个简单的多文件上传系统,您可以在其中为每个上传的文件分配一个标题。现在我被推荐使用 Blueimp 的 jQuery 文件上传器,因为它提供了拖放功能。

所以这就是我感到困惑的地方。我在 GitHub链接上查看了 blueimp 给出的教程或描述。我可以添加一个附加字段,但这适用于所有上传的文件。(我正在使用 CodeIgniter 将文件处理到 DB)。

那么我将如何为添加的每个文件添加单独的标题?因为我无法理解 github 上的 tut。(也许是一个 jsfiddle 示例,我可以从中学习?)

编辑*

现在我已经设法添加了额外的输入框......最后添加起来相当简单(doh!)。所以这就是我的 index.html 文件中的内容

<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-upload fade">
        <td>
            <span class="preview"></span>
        </td>
        <td>
            <p class="name">{%=file.name%}</p>
            {% if (file.error) { %}
                <div><span class="label label-important">Error</span> {%=file.error%}</div>
            {% } %}
        </td>
        <td class="title"><label>File Title: <input name="title[]" required="required"></label></td>
        <td>
            <p class="size">{%=o.formatFileSize(file.size)%}</p>
            {% if (!o.files.error) { %}
                <div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="bar" style="width:0%;"></div></div>
            {% } %}
        </td>
        <td>
            {% if (!o.files.error && !i && !o.options.autoUpload) { %}
                <button class="btn btn-primary start">
                    <i class="icon-upload icon-white"></i>
                    <span>Start</span>
                </button>
            {% } %}
            {% if (!i) { %}
                <button class="btn btn-warning cancel">
                    <i class="icon-ban-circle icon-white"></i>
                    <span>Cancel</span>
                </button>
            {% } %}
        </td>
    </tr>
{% } %}
</script>

我还将它添加到 main.js 文件的底部

$('#fileupload').bind('fileuploadsubmit', function (e, data) {
    var inputs = data.context.find(':input');
    if (inputs.filter('[required][value=""]').first().focus().length) {
        return false;
    }
    data.formData = inputs.serializeArray();

我的下一个问题是我现在如何将标题指定为文件名?

4

1 回答 1

2

只需添加不带扩展名的 file.name 作为文本字段的值。

<td class="title"><label>File Title: <input name="title[]" value="{%= file.name.split('/').pop().split('.').shift()%}"  required="required"></label></td>

于 2014-12-28T19:24:16.693 回答