上传文件的Fine-Uploader标题

时间:2014-05-13 07:49:51

标签: fine-uploader

首先,我很抱歉我的英语不好但我希望你能理解我的问题..

我正在尝试使用FU在服务器上上传歌曲。

我理解参数一般是如何工作但我不能改变我的歌曲的标题。 我希望用户必须选择一首歌曲(只有一首)。 onSubmit,输入似乎让他选择他的歌曲的标题。 直到这里,没问题。 但是当我想上传另一首歌后上传这首歌(再次显示丢弃区域)时,它的标题与我之前选择的标题相同。

我会尝试更好地解释它。

  1. 我选了一首歌。
  2. 放置区域隐藏在提交
  3. 输入似乎让用户更改其歌曲的标题
  4. 出现确定按钮以确认标题何时选择
  5. 点击(确定按钮),上传开始,丢弃区域再次可见
  6. 相同的情景
  7. 对于第二首歌曲,无论我在输入中输入什么内容,它都将采用第一首歌输入中所写的内容
  8. 这是我的代码:

    .on('submit', function(){
                    $('.qq-upload-drop-area').hide();
                    $('.qq-upload-button-selector').hide();
                    $('.valider_chanson').show();
                });
    
    
            $('.valider_chanson').click(function(){    //button OK
    
                var input_title = $('#song_title').val();
                var dropzone_titre = $('.dropzone_titre');
                var drop_area = $('.qq-upload-drop-area');
                var upload_button = $('.qq-upload-button-selector');
    
                if(input_title == "")
                {
                    //Titre de chanson obligatoire
                    alertify.alert('Vous devez sélectionner un titre pour votre morceau');
                }
                else{
                    //On recache le bouton jusqu'au prochain upload
                    //$('#uploadSelectedFiles').hide();
    
                    //On renomme le champ visible par le nom saisi
                    //$('.qq-editable').text(input_title);
                    //$('.qq-edit-filename').val(input_title);
                    var new_input_title = $('.qq-edit-filename').val();
    
                    //On lance l'upload
                    SongsUploader.fineUploader('uploadStoredFiles');
                    //dropzone_titre.hide();
    
                    $('.valider_chanson').hide();
                }
            });
    
    .on('upload', function(event, id, name){
                    var fileItemContainer = $(this).SongUploader('getItemByFileId', id);
                    var enteredTitle = $('#input_title').val();
                    //enteredTitle = $(fileItemContainer).find('INPUT[name="title"]').val();
                        $(this).fineUploader('setParams', {title: enteredTitle}, id);
                    //$(this).fineUploader('setName', {title: enteredTitle}, id);
                    $(this).fineUploader.setName(enteredTitle, id);
                    })
    
    // I dont understand very well how the 'setParams' and 'setName' works
    

    如果有人可以帮助我,我真的很感激..感谢提前! 亲切, -B

1 个答案:

答案 0 :(得分:0)

您可能需要撤消setName的参数。

目前,您有setName(enteredTitle, id),但应该是setName(id, enteredTitle)

.on('upload', function(event, id, name){
    var fileItemContainer = $(this).SongUploader('getItemByFileId', id);
    var enteredTitle = $('#input_title').val();
    $(this).fineUploader('setParams', {title: enteredTitle}, id);
    $(this).fineUploader('setName', id, enteredTitle);
})

来源:setName in the documentation

<强>更新

下面是如何设置文件名并一次上传单个文件。请注意,如果您提供用作输入元素的qq-edit-filename-selector元素。这已在默认的temoplate中提供,因此您可能根本不需要更改它。

   <input class="qq-edit-filename-selector">

$(document).ready(function(){

    // when a user clicks this button is should trigger the upload
    $("#upload_button").on('click', function(){
        $("#fineuploader-traditional").fineUploader("uploadStoredFiles");
    });

    // but we want to hide the button until we have a file
    $("#upload_button").hide();

    $("#fineuploader-traditional").fineUploader({
        debug: true,
        multiple: false,
        template: "qq-template",
        autoUpload: false,
        request: {
            endpoint: "/uploads"
        }
    })
    .on('submit', function(event, id){
        // a file has been submitted, so let us show the upload button
        $("#upload_button").show();
    })
    .on('validate', function(){
        // Do not allow more than one file to be in the queue at a time.
        var status = [qq.status.SUBMITTING, qq.status.SUBMITTED, qq.status.QUEUED, qq.status.UPLOADING, qq.status.UPLOAD_RETRYING],
            queuedFiles = $(this).fineUploader('getUploads', {
                status: status
            });

        if (queuedFiles.length > 1) {
            alert("One at a time");
            return false;
        }
    })
    .on('complete', function(){
        // hide the button again (may want to check for success)
        $("#upload_button").hide();

    });


});

您现在可以单击文件名并进行编辑。新文件名将以qqfilename参数发送到服务器。