当上传图片时出现 HTTP ERROR 302 错误, 这是服务端需要登录验证,而客户端uploadify 并没有把 cookie 中的 sessionId 发送给服务器 ,如果有拦截或过滤的话,请求就会被重置,这样就会出现302错误了。
网上有一种解决方法就是在请求后面加上 sessionId (http://fanshuyao.iteye.com/blog/1751684),但好像也不怎么行。现在通过实现HttpSessionListener的sessionCreated和sessionDestroyed 能很好解决问题。
步骤如下:
1、建立自己的SessionContext
/**
* session管理,解决uploadify session丢失问题
* @author lqy
* @date 2013-1-29
*/
public class MySessionContext {
private static MySessionContext instance;
private HashMap<String, HttpSession> mymap;
private MySessionContext() {
mymap = new HashMap<String, HttpSession>();
}
public static MySessionContext getInstance() {
if (instance == null) {
instance = new MySessionContext();
}
return instance;
}
public synchronized void addSession(HttpSession session) {
if (session != null) {
mymap.put(session.getId(), session);
}
}
public synchronized void delSession(HttpSession session) {
if (session != null) {
mymap.remove(session.getId());
}
}
public synchronized HttpSession getSession(String session_id) {
if (session_id == null)
return null;
return (HttpSession) mymap.get(session_id);
}
}
2、新增一个Session监听类
/**
* Session监听器
* @author lqy
* @date 2013-1-29
*/
public class SessionListener implements HttpSessionListener {
public static Map<String,HttpSession> userMap = new HashMap<String,HttpSession>();
private MySessionContext myc = MySessionContext.getInstance();
public void sessionCreated(HttpSessionEvent httpSessionEvent) {
myc.addSession(httpSessionEvent.getSession());
}
public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
HttpSession session = httpSessionEvent.getSession();
myc.delSession(session);
}
}
3、在Web.xml中配置监听
<listener>
<listener-class>com.huaxi.expert.web.listener.SessionListener</listener-class>
</listener>
4、在程序中使用
String sid = req.getParameter("sid");
if (sid == null || sid.trim().equals("")) {
res.sendRedirect(req.getContextPath() + "/");
} else {
MySessionContext myc = MySessionContext.getInstance();
HttpSession mySession = myc.getSession(sid);
if(mySession == null){
res.sendRedirect(req.getContextPath() + "/");
}else{
chain.doFilter(request, response);
}
}
获取session
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2013年1月29日 11:17:19 星期二
相关推荐
对于特定浏览器的问题,例如IE可以正常上传文件,而在Firefox或Chrome中则出现HTTP 302错误,这可能是因为IE和Firefox/Chrome在处理cookie上的差异导致的。IE浏览器会自动将cookie附带在向后台发送的数据流请求中,...
为了解决使用Uploadify上传大文件时出现的HTTP 404错误,可以采取以下步骤: 1. 修改uploadify参数设置,其中`'fileSizeLimit': '0'`表示允许上传的单个文件大小为无限制,如果需要限制大小,可以设置为相应的KB, ...
总体而言,解决HTTP Error 302错误的关键在于确保客户端在上传文件的请求中携带了有效的session信息。对于支持Flash的Uploadify插件,可以通过上述方法中的任意一种来传递sessionid,从而避免302重定向错误。
在提供的标签中提到的"源码"和"工具",意味着解决方案可能涉及到查看Uploadify的源代码,理解其内部工作流程,并可能需要结合其他工具进行问题排查。在压缩包中的"MultiUpload"可能是一个包含多文件上传功能的示例或...
尽管上述解决方案可以解决HTTP 302错误,但仍有改进空间。例如,可以考虑调整架构,使上传处理独立于其他业务逻辑,以避免`init()`方法被覆盖的问题。此外,对于使用像Zend Framework这样的框架,可能还有更优雅的...
Uploadify 是一个基于 jQuery 的强大文件上传插件,它的出现极大地简化了网页端的文件上传操作,特别是对于那些需要处理大量用户上传文件的网站来说,它提供了高效且用户体验良好的解决方案。在 "uploadify3.2.1 ...
Uploadify 3.2 是一个流行...Uploadify 3.2 作为一个强大的文件上传解决方案,无论对于开发者还是用户,都能带来便利。通过理解其核心功能和提供的资源,你可以轻松地将其集成到你的项目中,提升文件上传的效率和体验。
Struts2作为Java EE领域中的MVC框架,常用于构建企业级应用,而Uploadify则为Struts2提供了更便捷的文件上传解决方案。 在Struts2中,处理文件上传通常涉及到`org.apache.struts2.interceptor....
Uploadify 是一个基于...综上所述,Uploadify 是一个强大且灵活的文件上传解决方案,通过合理的配置和使用,可以大大提高网站的交互性和用户体验。在实际开发中,我们需要注意其与服务器端的配合,以及安全性的考量。
本文将深入探讨这个问题及其解决方案。 首先,理解“404 Not Found”错误,这是HTTP状态码的一种,表示客户端能够与服务器建立连接,但服务器找不到请求的资源。对于Uploadify来说,这可能意味着上传脚本未正确配置...
总之,Uploadify作为一款强大的文件上传工具,为开发者提供了高效、灵活的文件上传解决方案。无论是简单的图片上传还是复杂的文件管理,Uploadify都能胜任。在实际开发中,根据项目需求合理配置和扩展Uploadify,...
通过上述讲解,我们可以看到Uploadify是一个强大且灵活的文件上传解决方案,特别适用于需要处理大量图片上传的场景。利用其提供的各种功能和回调机制,开发者可以轻松地构建出用户友好的文件上传体验。在实际应用中...
Uploadify 是一个流行的...总之,Uploadify v2.1.4是一个强大且灵活的文件上传解决方案,特别适合需要支持中文界面的项目。通过合理的配置和事件处理,开发者可以构建出高效、易用的文件上传功能,提升网站的服务质量。
总之,Uploadify_v3.2是一个用于JSP的高效文件上传解决方案,它利用Flash技术和JavaScript,为用户提供了一种流畅的多文件上传体验。通过深入理解和使用这个组件,开发者可以提升其Web应用的用户体验,并简化文件...
虽然Uploadify是一个优秀的解决方案,但随着HTML5的发展,现在有更多的选择,如`<input type="file" multiple>`原生支持的多文件选择,以及利用`FormData`和`XMLHttpRequest Level 2`的JavaScript上传API。...
综上所述,Uploadify v3.0.0 是一个强大且灵活的多文件上传解决方案,它简化了前端开发中的文件上传流程,同时也为开发者提供了丰富的定制空间。在实际项目中,通过合理配置和恰当的服务器端处理,可以构建出安全、...
这个解决方案已经解决了中文乱码的问题,这意味着在上传包含中文文件名的文件时,它们将被正确地显示和处理,无需担心字符编码错误。 在前端,Uploadify 使用Flash或HTML5作为其核心技术,提供了一个友好的用户界面...
Uploadify是一款广泛应用于网页端的图片和文件上传插件,它通过Flash技术提供了一种简单、易用且具有高度自定义性的文件上传解决方案。在网页设计和开发中,Uploadify能够帮助用户实现批量、异步的文件上传,极大地...
Uploadify插件的核心功能在于提供了一个异步的、基于AJAX的文件上传解决方案,允许用户在不刷新页面的情况下上传多文件。这不仅提高了用户体验,也使得文件上传操作更为流畅。在3.2.1版本中,所有相关的属性和方法都...