首先,我很抱歉我的英语不好但我希望你能理解我的问题..
我正在尝试使用FU在服务器上上传歌曲。
我理解参数一般是如何工作但我不能改变我的歌曲的标题。 我希望用户必须选择一首歌曲(只有一首)。 onSubmit,输入似乎让他选择他的歌曲的标题。 直到这里,没问题。 但是当我想上传另一首歌后上传这首歌(再次显示丢弃区域)时,它的标题与我之前选择的标题相同。
我会尝试更好地解释它。
这是我的代码:
.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
答案 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
参数发送到服务器。