1.http 401错误简单介绍
当用浏览器访问一个服务地址时,会向服务发送一个http请求,服务变会处理请求,并给浏览器返回一个状态码,每个状态码代表的不同的服务响应状态。 比如:200 代码响应成功,404资源未找到
这里的401就代表没有访问资源的权限状态。
2.401错误分析原因
正如上面介绍的一样,uploadify发出了上传请求,但服务端认为请求没有相应的权限。
现在大多数的身份验证用的是session,如果浏览器的cookie是打开的,那么sessionid的值是存在cookie里面的。但是 在不同的浏览器里面,flash上传文件插件对cookie的处理是不一样的,有的浏览器flash插件会把cookie的数据写入到请求头里面,但有的浏览器是不会把cookie的数据写入到请求头里面的,相应的也不会sessionid写入请求头,后台验证到身份不合法,就会响应401错误状态。
3.解决办法
重写uploadify的uploader的url地址,把jsessionid加到请求地址后面。如:<%=path%>/allMatter/upload.json;jsessionid=<%=session.getId()%>