我正在使用 plupload,JQuery UI 实现。我正在尝试将其他参数传递给服务器,但无法使其工作。它应该非常简单,参数在函数执行时已经设置,所以这应该不是问题。我试过这个:
function GetPlUploader(m)
{
$("#divOpplaster").plupload(
{
// General settings
runtimes: 'flash,html5,silverlight',
url: 'upload.php',
max_file_size: '10mb',
chunk_size: '1mb',
unique_names: true,
multipart: true,
multipart_params: [
{
'ordre': ordreibruk,
'mode': m}
],
// Specify what files to browse for
filters: [
{
title: "Bildefiler",
extensions: "jpg,gif,png,bmp"}
],
// Flash settings
flash_swf_url: 'plupload/js/plupload.flash.swf',
// Silverlight settings
silverlight_xap_url: 'plupload/js/plupload.silverlight.xap',
init: {
FileUploaded: function(up, file, info)
{
// Called when a file has finished uploading
console.log('[FileUploaded] File:', file, "Info:", info);
}
}
});
console.log("Ordre: " + ordreibruk + ". Mode: " + m)
$("#divOpplaster").dialog(
{
autoOpen: false,
width: 650,
show: "fade",
hide: "fade"
})
$("#divOpplaster").dialog("open")
// Client side form validation
$('form').submit(function(e)
{
var uploader = $('#uploader').plupload('getUploader');
// Files in queue upload them first
if (uploader.files.length > 0)
{
// When all files are uploaded submit form
uploader.bind('StateChanged', function()
{
if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed))
{
$('form')[0].submit();
}
});
uploader.start();
}
else
alert('Du må velge minst én fil for opplasting.');
return false;
});
}
我还尝试将其添加到 $('form').submit 部分:
uploader.bind('BeforeUpload', function(up)
{
up.settings.multipart_params =
{
'ordre': ordreibruk,
'mode': m
};
});
但是没有效果。
我确信我忽略了一些非常简单的事情,但是什么呢?
亲切的问候, 安德斯
最佳答案
我必须承认我过去常常将参数作为查询字符串参数放在 url 中:
- 在初始化期间:
url: '/upload.aspx?id='+Id,
- 或更高版本:
upldr.settings.url = upldr.settings.url + '&token=' + myToken;
效果很好。 希望这会有所帮助
关于jquery-ui - 无法在 plupload 中传递附加参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13367897/