[英]plupload dynamic multipart_params for in progress uploads lost on re-initialization
[英]plupload dynamic multi params
我正在使用 plupload 來允許用戶上傳文件。 我正在使用 plupload 傳遞兩個多參數。 第一個參數在頁面加載時動態設置。 另一個是在用戶從選擇菜單中選擇時設置的。
頁面加載時第二個參數為空,我不知道如何在用戶做出選擇后將其傳遞給 plupload。
如果我將 plupload 代碼添加到更改函數中,它可以工作,但我不希望這樣,因為在用戶做出選擇之前,plupload 是不可見的。
我希望有人可以幫助我。
這是我的代碼:
$("#uType").change(function(){
var upType = $('#uType').val();
$("#type").val(this.value);
});
var uploader = $("#uploader").plupload({
// General settings
runtimes : 'html5,flash,silverlight,html4',
url : "/wp-content/plugins/tyhp-filemaker/tyhp-youth-upload.php",
// Maximum file size
max_file_size : '2mb',
chunk_size: '1mb',
// Resize images on clientside if we can
resize : {
width : 200,
height : 200,
quality : 90,
crop: true // crop to exact dimensions
},
multipart_params: {'type': $('#type').val(), 'account' : $('#AccountUpload').val()},
// Specify what files to browse for
filters : [
{title : "Image files", extensions : "jpg,gif,png"},
{title : "Zip files", extensions : "zip,avi"}
],
// Rename files by clicking on their titles
rename: true,
// Sort files
sortable: true,
// Enable ability to drag'n'drop files onto the widget (currently only HTML5 supports that)
dragdrop: true,
// Views to activate
views: {
list: true,
thumbs: true, // Show thumbs
active: 'thumbs'
}
// Flash settings
flash_swf_url : '/plupload/js/Moxie.swf',
// Silverlight settings
silverlight_xap_url : '/plupload/js/Moxie.xap'
});
我已經找到了解決我的問題的方法。
以下是連接到現有 plupload 實例並根據選擇菜單中的更改事件設置多參數的方法:
$("#uType").change(function(){
var upType = $('#uType').val();
$("#type").val(this.value);
var uploader = $('#uploader').plupload('getUploader');
uploader.settings.multipart_params.type = $("#type").val();
uploader.settings.multipart_params.account = $('#AccountUpload').val();
});
通過刪除 multipart_params 變量名稱上的“引號”來嘗試,如下所示:
multipart_params: { type: $('#type').val(), account : $('#AccountUpload').val() }
我知道 - 示例使用引號。 他們實際上在其他版本中工作。 但不幸的是,對於您、我和其他許多人來說,該產品的文檔還有很多不足之處。 我已經花了太多時間調試它只是為了看看它是真正在做什么。 即使在“最新”版本上。 我認為沒有人再維護它了。
您可以使用 BeforeUpload 選項添加多部分參數
uploader.bind('BeforeUpload', function(up, file) {
uploader.settings.multipart_params.type = $('#type').val();
uploader.settings.multipart_params.account = $('#AccountUpload').val();
console.log(file);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.