uploadify fileTypeDesc不起作用,大神指点


不知道为什么fileTypeDesc设置之后,如果我上传文件格式不符合规范,就会提示我

而不是按照我预期设置的提示,很苦恼的问题。


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%
    String path = request.getContextPath();
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Uploadify上传</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">
        <link rel="stylesheet" href="uploadify/uploadify.css" type="text/css"></link>
        <script type="text/javascript" src="uploadify/jquery-1.7.2.min.js"></script>
        <script type="text/javascript"
            src="uploadify/jquery.uploadify-3.1.min.js"></script>
        <script type="text/javascript">

            $(function() {
                $("#file_upload").uploadify({
                    'height'        : 27, 
                    'width'         : 80,  
                    'buttonText'    : '浏 览',
                    'swf'           : '<%=path%>/uploadify/uploadify.swf',
                    'uploader'      : '<%=path%>/servlet/UploadifySerlet',
                    'auto'          : true, //当为true时,会自动上传
                    'fileSizeLimit' : '4000000KB', 
                    'fileTypeDesc' : '请上传.jpg;*.png;*.gif;*.bmp;*.doc;*.txt',//允许上传的文件类型的描述,在弹出的文件选择框里会显示
                    'fileTypeExts' : '*.jpg;*.png;*.gif;*.bmp;*.doc;*.txt',//指定文件格式
                    'formData'      : {'userName':'','qq':''},
                    'onUploadStart' : function(file) {

                        //校验   
                        var name=$('#userName').val();    
                         if(name.replace(/\s/g,'') == ''){   
                              alert("名称不能为空!");   
                              return false;   
                         } 

                         //校验   
                        var qq=$('#qq').val();    
                         if(qq.replace(/\s/g,'') == ''){   
                              alert("QQ不能为空!");   
                              return false;   
                         }

                        $("#file_upload").uploadify("settings", "formData", {'userName':name,'qq':qq});
                        //$("#file_upload").uploadify("settings", "qq", );
                    }
                });
            });

    </script>
    </head>

    <body>
    <form action="" enctype="multipart/form-data"></form>
        名称: <input type="text" id="userName" name="userName" value="admin">
        <br>
         QQ: <input type="text" id="qq" name="qq" value="100000">
        <br>
        <input type="file" name="uploadify" id="file_upload" />
        <hr>
        <a href="javascript:$('#file_upload').uploadify('upload','*')">开始上传</a>    
        <a href="javascript:$('#file_upload').uploadify('cancel', '*')">取消所有上传</a> 
    </body>
</html>



期待大牛解答~~

java 上传 upload 文件上传 uploadify

国士ˇ無双 10 years, 8 months ago

看起来 fileTypeDesc 应该不是上传发生错误之后的提示,而是在选择文件时候的提示。所以我搜了一下它的文档,找到了 这里

简言之,你可以通过 onSelectError 回调来设置发生问题时的行为,并且其中还有几种不同的类型供你选择,你这个错误的类型应该是 INVALID_FILETYPE 。所以,在回调里检查错误类型,若是这个就返回你所希望的错误提示。

苍白的正义 answered 10 years, 8 months ago

Your Answer