【问题标题】:Cloudinary Upload Widget - Apply general upload limit/ stop the upload processCloudinary 上传小部件 - 应用一般上传限制/停止上传过程
【发布时间】:2017-03-26 19:00:38
【问题描述】:

我有一个关于 Cloudinary jQuery Upload Widget 的问题。 http://cloudinary.com/documentation/upload_widget

我使用 max_files 值“2”来限制在多个模式下上传文件,但这意味着“每次上传尝试 2 个文件”(= 如果用户再次单击 Select... 按钮,他可以上传更多图像)。

我想实现以下目标:

  • 在页面加载时为上传小部件应用上传图片的一般限制(例如:5)
  • 如果超出限制,应显示警报。

我的代码示例如下。 看上传成功功能。 它似乎在正确的情况下显示警报,但未应用限制,因为该功能在上传成功后正在运行。但如果超出限制,我想停止上传文件。

    var uploaded_files_cnt = 0;
    $( document ).ready(function() {
        var uploaded_files_cnt = 0;
        cloudinary.openUploadWidget({ 
                cloud_name: 'X', 
                upload_preset: 'Y', 
                max_files: 2,
                inline_container: '#inline_container'       
                }, 
            function(error, result) { 
                imageresults = result;
                for (i = 0; i < imageresults.length; i++) 
                {           
                            if (uploaded_files_cnt >= 5)
                            {
                                alert('No more images!');   
                                return false;
                            }
                            uploaded_files_cnt++;           
                }           

          });
    });

我检查了小部件的 API 事件,但没有发现有用的东西...

有什么想法吗?

【问题讨论】:

    标签: javascript jquery file-upload limit cloudinary


    【解决方案1】:

    您所描述的行为可以通过使用回调函数中的jQuery来实现,例如:

    <script src="http://code.jquery.com/jquery-2.1.3.min.js" 
    
    type="text/javascript"></script>
    <script src="//widget.cloudinary.com/global/all.js" type="text/javascript"></script>  
    
    <div class="uploader"><a href="#" id="upload_widget_opener" class="cloudinary-button">Upload</a></div>
    $('#upload_widget_opener').cloudinary_upload_widget( 
    { cloud_name: 'XXXXX', 
    upload_preset: 'XXXXX', 
    max_files: '5', 
    inline_container: '#inline_container'  
    }, 
    function(error, result) { 
        console.log(error, result) 
        $('.uploader').toggle(); // closes the widget. You can change it to an alarm
    }); 
    

    【讨论】:

    • 感谢您的回复! :) 我了解您的解决方案,但我需要一种向用户显示友好消息并禁用小部件的方法,而不仅仅是消失小部件。我只需要禁用小部件上传更多文件即可。我在回调函数上添加了以下代码,但它不起作用: $("#inline_container *").attr("disabled", "disabled").off('click'); $('.cloudinary_fileupload').attr("disabled","disabled"); $('.button.select_file.select_single').attr("disabled","disabled"); $('.button.select_file.select_multiple').attr("disabled","disabled");
    猜你喜欢
    • 1970-01-01
    • 2017-01-27
    • 2018-03-25
    • 2012-08-22
    • 2020-04-11
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 2013-10-07
    相关资源
    最近更新 更多