UploadiFive 1.2.2'fileType'过滤器功能/限制不起作用

时间:2014-04-30 22:41:12

标签: php jquery upload uploadifive

我尝试了很多不同的建议,包括uploadify论坛上的建议:http://www.uploadify.com/forum/#/discussion/8232/upload-five-html-5-file-type-filter-capability/p1

但这些似乎并没有限制用户更改文件类型。有任何想法吗?这是我的代码:

<script type="text/javascript">

<?php $timestamp = time();?>

$(function() {

    if ($('#fileupload').length > 0) {    

      $('#fileupload').uploadifive({

        'auto'             : true,
        'checkScript'      : '../home/assets/uploadifive/check-exists.php',
        'formData'         : {
                     'timestamp' : '<?php echo $timestamp;?>',
                     'token'     : '<?php echo md5('unique_salt' . $timestamp);?>'
                             },
        //'queueID'          : 'queue',
        'uploadScript'     : '../home/assets/uploadifive/uploadifive.php',
        'multi'    : false,
        'removeCompleted' : false,
          'fileSizeLimit' : '3MB',
          'uploadLimit'  : 1,
          'buttonText':'Select File',
           onSelect: function() {
               $('#btn_submit').attr({disabled: true, value:'Uploading...' }).css( "background-color", "#707070" );
               },
           onUploadComplete: function(file,data,reponse) {
               $('#uploadedfile').val(data);
                 $("#btn_submit").attr({disabled: false, value:'Register' }).css( "background-color", "#D4D0C8" );
                 alert('The file ' + file.name + ' was successfully uploaded ');
        },

       // 'fileType'     : 'application/pdf|application/doc|application/docx'     //not 
                                                                                 //working.
       // 'fileType'     : ["gif","jpeg","png"]   //not working.
       // 'fileType'     : 'image/png|image/jpg' //not working.
       // 'fileType'     : 'image/*'    // works but does not restrict user from changing 
                                        // it something else.
       // 'fileType': ["image\/jpeg","image\/png"]  // works but does not restrict user   
                                                    // from changing it something else.       
      });

    }

});

</script>

2 个答案:

答案 0 :(得分:1)

这里的问题相同。我已经改变了&#39; fileType&#39; :&#39;图像&#39 ;, 它允许整个img文件,但不允许其他文件(抛出禁止的文件类型错误)和我的 我已经添加了$ fileTypes = array(&#39; jpg&#39;,&#39; jpeg&#39;,&#39; gif&#39;,&#39; png&#39;);允许的文件扩展名所以我们只能过滤jpg gif和png文件。但它会增加上传文件计数uploadify。

答案 1 :(得分:1)

我在一个帖子上找到了这个答案,但是对于v 1.0。* 我不确定他们是否已经修好了1.2.2 在第283行更改源JS(jquery.uploadifive-v1.0.js)以使其工作并接受我的fileType数组。

var v = 0;
                            for (var n = 0; n < settings.fileType.length; n++) {
                                if (file.type.indexOf(settings.fileType[n]) > -1) {
                                    v += 1;
                                }
                            }
                            if (v < 1) {
                                $data.error('FORBIDDEN_FILE_TYPE', file);
                            }

我尝试过传递数组以及|分离的文件扩展名仍无效。