首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Plupload,动态更改url

Plupload,动态更改url
EN

Stack Overflow用户
提问于 2011-10-06 17:59:58
回答 2查看 7.9K关注 0票数 6

我有一个带有plupload的上传表单和一个在plupload div后面有布尔值的复选框。

如果复选框被选中,我想要更改plupload中的url的值。

以下是我的代码

代码语言:javascript
复制
<div id="uploader">
    <p>You browser doesn't have Flash, Silverlight, Gears, BrowserPlus or HTML5 support.</p>
</div>
<input id="compressFiles" type="checkbox" name="compressFiles" style="margin:10px 0 0 10px;" value="compress" checked="checked" /> 

$(function() {

$("#compressFiles").change(function(){
    if( $("#compressFiles").is(':checked') ){
            compress = 'compress';
       }
       else{
        compress = 'no';
       }
})

$("#uploader").plupload({

    runtimes : 'gears,flash,html5,html4,browserplus,silverlight',
    url: 'uploadHandler.php?compressFiles=' + compress,
    max_file_size : '1000mb',
    max_file_count: 20, // user can add no more then 20 files at a time
    unique_names : true,
    dragdrop : true,
    multiple_queues : true,

    // Addeb by LG - problem with FF
    filters: [
        {title: "All", extensions: "*"}
    ],

    // Rename files by clicking on their titles
    rename: true,

    // Sort files
    sortable: true,

    // Flash settings
    flash_swf_url : 'js/plupload.flash.swf',

    // Silverlight settings
    silverlight_xap_url : 'js/plupload.silverlight.xap',
    init : {
        FilesAdded: function(up) {
             if( $("#compressFiles").is(':checked') ){
                compress = "no"
             }
             else{
                 compress = "no"
             }
    }
    }

});

// Client side form validation
$('form').submit(function(e) {
    var uploader = $('#uploader').plupload('getUploader');

    // Validate number of uploaded files
    if (uploader.total.uploaded == 0) {
        // Files in queue upload them first
        if (uploader.files.length > 0) {
            // When all files are uploaded submit form
            uploader.bind('UploadProgress', function() {
                if (uploader.total.uploaded == uploader.files.length){ alert("coucou");
                    $('form').submit();}
            });

            uploader.start();
        } else
            alert('You must at least upload one file.');

        e.preventDefault();
    }
});

});

url变量的值是在第一次使用压缩值加载页面时定义的。我尝试了1000次,但无法在复选框改变时刷新url中的压缩值。

我希望我的问题清楚了,我的英语说得不是很好。

感谢你的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-21 05:55:58

只需绑定到"BeforeUpload“事件,您就可以更改uploader.settings以满足您的需要。

代码语言:javascript
复制
this.uploader.bind('BeforeUpload', function(uploader, file) {
  if($("#compressFiles").is(':checked')) {
    uploader.settings.url = "uploadHandler.php?compressFiles=compress";
  } else {
    uploader.settings.url = "uploadHandler.php?compressFiles=no";
  }
});
票数 22
EN

Stack Overflow用户

发布于 2016-12-07 21:33:49

在plupolad v3中,chaging settings.url将不起作用。你必须使用

代码语言:javascript
复制
uploader.setOption('url', 'your/url/here');
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7672768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档