struts2框架下使用uploadify3.2文件上传插件

关于ajax文件上传的js插件有很多,如:uploadify、jquploader、ajaxfileupload......

下面介绍一下如何使用uploadify,我使用的版本是3.2(3.2跟之前的版本2差别较大),下载地址:http://www.uploadify.com/download/
还要下载js插件swfobject,地址:https://code.google.com/p/swfobject/downloads/list

js代码(具体的用法可以自己百度一下):

	<script type="text/javascript">
        $(document).ready(function()
        {
            $("#uploadify").uploadify({
                'auto': false,  //是否自动上传
                'multi': false,
                'buttonText':'文件上传',
                'fileObjName':'video', //与服务器端文件对象名字相同
                'formData': {'userId':'xxxxx'},  //附带值
                'uploader': 'videoshare/Files_FileUpload'  //就是表单action的值
             });
        });  
    </script>
<input type="file" name="video" id="uploadify" />
<a href="javascript:$('#uploadify').uploadify('upload')">上传</a>|  
<a href="javascript:$('#uploadify').uploadify('cancel')">取消上传</a>
private File video;  //与input中的name对应
//不能随便命名
private String videoFileName;   
private String videoContentType;

PS:如果input中的name=xxx 那么 文件对象名为xxx ,文件名为 xxxFileName ,文件类型为 xxxContentType

这里有一个很重要的问题,这个问题搞了我两天才搞明白,而且我也发现网上不少人都跟我一样,被这个问题困扰了很久,就是input的name是不能为upload的,见下图:

struts2框架下使用uploadify3.2文件上传插件
我们可以发现用uploadify上传文件时,它会上传一个名为Upload的参数,类型是字符串,而当我们的文件对象名也是upload时,那么就会调用setUpload时就会报错,原因是setUpload参数是一个file对象!!!

到这里应该就没什么问题了
struts2框架下使用uploadify3.2文件上传插件

你可能感兴趣的:(struts2框架下使用uploadify3.2文件上传插件)