您的位置:首页 > 编程语言 > Java开发

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

2013-12-12 00:00 274 查看
关于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的,见下图:



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

到这里应该就没什么问题了



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: