Lopoincare's Blog

那逝去的一切,将消失在时间之中,却会留在记忆的某个角落…… 记下属于我们的那一小片记忆……

« 分享:标签默认选中值兼容Firefox的JavaScript回车提交表单 »

在struts2中使用uploadify实现多文件上传

折磨了我半个月的ssh2中实现多文件上传终于搞定了,总结一下需要记住的吧:

页面中的:
js部分代码:
<script type="text/javascript">
        $(document).ready(function() {
            $("#fileupload").uploadify({

                'uploader'       : 'scripts/uploadify.swf',
                'script'         : '<%=path%>/my_upload.action;jsessionid=<%=session.getId()%>', //可以很有效的解决在ff下的session问题
                'cancelImg'      : 'scripts/cancel.png',
                'queueID'        : 'fileQueue',
                'fileDataName'   : 'up',
                'auto'           : false,
                'multi'          : true,
                'buttonText'     : 'BROWE',
                'fileDesc'       : '支持格式:jpg/gif/jpeg/png/bmp.',
                'fileExt'        : '*.jpg;*.gif;*.jpeg;*.png;*.bmp',
    onAllComplete : function (){
     alert("上传完毕");
    },
     onError: function(event, queueID, fileObj) {
              alert("文件:" + fileObj.name + "上传失败");
          }
  });
});
 </script>
如果传递多个参数,可以生命为数组:
var arrays = {
    "xx" : xxx,
    "xxxx" : xxxxx
   };
$('#fileupload').uploadifySettings('scriptData',arrays); //传递多个参数
html中的代码:
<div id="fileQueue" style=""></div>

  <br>  <p>
   <input type="file" name="fileupload" id="fileupload" />方法<br>
   <a href="javascript:jQuery('#fileupload').uploadifyUpload()">开始上传</a>|
   <a href="javascript:jQuery('#fileupload').uploadifyClearQueue()">取消所有上传</a>
  </p>

服务器端的action中要给页面一个响应:ServletActionContext.getResponse().getWriter().print(内容);
其他的就和普通的上传文档一样了.

  • quote 7.子乔
  • 问一下各位 FF 下不能进入action的BUG 怎么解决的?
    我现在直接进不去action ie 和 chrome 都正常
  • 2013-8-19 14:04:55
  • quote 6.jameBing
  • 感谢lz把这边文章贴出来,困扰我很久的bug终于解决了!Haha
  • 2013-8-14 15:16:16
  • quote 5.水天晓
  • 非常感谢楼主,帮了我大忙了,解决在Firefox下丢失session的问题了,不过楼主这个uploadify的版本应该是旧版本的吧,现在的uploader参数的value是action的url了
  • 2013-8-7 13:23:38
  • quote 4.qqqqq
  • 服务器端的action中要给页面一个响应:ServletActionContext.getResponse().getWriter().print(内容);


    放在哪里?struts.xml?jsp?js?
  • 2011-2-17 1:49:42
  • quote 3.sfilyh
  • 昨天弄了一个下午一直获取不到Session,在ie6中能获取到,到firefox和chrome中发现上传文件时会重建一个Session。
    ;jsessionid=<%=session.getId()%>太棒了
    在firefox和chrome中成功获取Session
  • 2010-9-16 9:43:47
  • quote 2.uploadify
  • 碰到同样的问题,uploadify中action不触发,你哪是怎么解决的,文章中没有看出来?
  • 2010-8-23 11:55:38
  • quote 1.kxy
  • 1、jsessionid=<%=session.getId()%> 在ff下好像也不行。ActionContext.getContext().getSession().get(
    "UserName")
    2、你在struts2下怎么取的名称是中文的,前提条件,我在struts.xml中设置了
    <constant name="struts.i18n.encoding" value="GBK"/>
  • 2010-8-19 17:39:06
发表评论:

Powered By Z-Blog 1.8 Arwen Build 90619
Copyright © Lopoincare's 博客