1

私は最近、アップロードされた各ファイルにタイトルを割り当てることができる単純な複数ファイル アップロード システムを作成するプロジェクトに着手しました。ドラッグ アンド ドロップ機能を提供する Blueimp の jQuery ファイル アップローダを使用することをお勧めしました。

ここで私は混乱しています。GitHub Link here でblueimp によって提供されたチュートリアルまたは説明を見ました。フィールドを追加することはできますが、これはアップロードされたすべてのファイルに適用されます。(ファイルをDBに処理するためにCodeIgniterを使用しています)。

それでは、追加された各ファイルに個々のタイトルを追加するにはどうすればよいでしょうか? 私はgithubのtutを理解できないので。(たぶん、私が学ぶことができるjsfiddleの例ですか?)

編集*

これで、追加の入力ボックスを追加することができました...最終的に追加するのはかなり簡単です(doh!)。SOこれは私の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 に答える