在firefox中使用swfupload上传时发生的问题

作者: aries 分类: PHP 发布时间: 2011-08-24 08:00 ė 1031次浏览 6 0评论

说实话,swfupload这个上传组件是相当不错的

能上传大文件,带进度条,可以多文件上传等等。。。

可是在firefox中用它上传的时候就会有问题(当然这也不能怪swfupload,根本原因还是flash player身上)

什么问题呢?

"在非ie内核的浏览期里边swf不能发送cookie"

也就是说,比如你在firefox里面使用swfupload上传文件,如果上传的时候需要做登录验证(这个登录验证是基于cookie或者session),就会出问题。

至于你遇没遇到,反正我是遇到了。

我的解决办法就是:

post_params : {
    "swfAuthId" : ´´,
    "authKey" : ´´
},
swfupload在上传文件的时候再传递两个参数,这两个参数是怎么来的呢?
<?php
$sessionId = session_id().time();
$systemKey = ´asdfasdfasdfasdfasdfs´;  //这个是随即生成的一个字符串,不会变
$authKey = md5($systemKey.$sessionId);

然后在上传文件的时候判断

<?php
if($_POST[´authKey´] !== md5($systemKey.$_POST[´swfAuthId´]){
    die(´error!´);
}
换一个
暂无评论
Ɣ回顶部