如何使用PLupload发送其他数据?

2022-08-30 11:40:15

我正在使用plupload来上传ajax文件。现在是 plupload。上传器类有许多选项,但没有一个是附加数据。

例如:

var uploader = new plupload.Uploader({
    runtimes : 'gears,html5,flash,silverlight,browserplus',
    browse_button : 'pickfiles',
    container : 'contact_container',
    max_file_size : '10mb',
    url : 'upload.php',
    flash_swf_url : '/plupload/js/plupload.flash.swf',
    silverlight_xap_url : '/plupload/js/plupload.silverlight.xap',
    filters : [
        {title : "Image files", extensions : "jpg,gif,png"},
        {title : "Zip files", extensions : "zip"}
    ],
    resize : {width : 320, height : 240, quality : 90}
});

我试图实现的是,我在服务器中有一个文件夹,所有上传的内容都保存在其中。我在文件夹内为在那里上传文件的每个用户创建一个子文件夹。如何将用户ID等数据添加到plupload的实例中。上传者?或者,如果我将表单包装在容器div中,我是否能够在$ _REQUEST中看到它?还是有其他方法可以实现这一点?


答案 1

您是否尝试过使用multipart_params设置?为您的 plupload 添加一个附加选项。上传者喜欢这样:

var uploader = new plupload.Uploader({
    runtimes : 'gears,html5,flash,silverlight,browserplus',
    browse_button : 'pickfiles',
    container : 'contact_container',
    max_file_size : '10mb',
    url : 'upload.php',
    flash_swf_url : '/plupload/js/plupload.flash.swf',
    silverlight_xap_url : '/plupload/js/plupload.silverlight.xap',
    filters : [
        {title : "Image files", extensions : "jpg,gif,png"},
        {title : "Zip files", extensions : "zip"}
    ],
    resize : {width : 320, height : 240, quality : 90},
    multipart_params : {
        "name1" : "value1",
        "name2" : "value2"
    }
});

然后,您需要处理默认情况下处理上载(上载.php的文件中的值。我认为这些值被捕获了,但你可以用它来确保。$_POST$_REQUEST

我使用jQuery来动态分配值,因此您可以使用诸如#name1可能是页面上其他位置的输入之类的东西。"name1" : "value1""name1" : $("#name1").val(),

Plupload的文档对于其中一些设置来说有点稀疏。


答案 2

您可以使用,但必须在上传者配置中声明:uploader.settings.multipart_params["name1"] = yourValue;"name1"

multipart_params : {
    "name1" : "value1",
    "name2" : "value2"
}

推荐