swfupload 在某些浏览器下上传文件时会报Upload Error 302错误,解决方法是需要前端传session_id给服务器端,具体如下:
1. 前端调用位置
swfuPubThumbnailUploader = new SWFUpload({
upload_url : "/upload_thumbnail",
flash_url : "/Flash/swfupload.swf",
file_size_limit : 512 + " MB",
file_post_name: 'files[swf]',
file_types : '*.jpg;*.jpeg;*.gif;*.png',
file_types_description: "Image Files",
file_queue_limit : 1,
button_placeholder_id: 'swf-trans-file-selector',
button_text: '',
button_image_url: '',
button_width: "85",
button_height: "25",
button_cursor : SWFUpload.CURSOR.HAND,
button_window_mode : SWFUpload.WINDOW_MODE.TRANSPARENT,
post_params : {
"sid" : <?php echo session_id(); ?>
},
preserve_relative_urls : true,
file_queued_handler : fileQueued,
以下省略
2. server 服务器端需要接收session_id
if(isset($_POST['sid']))
{
session_id($_POST["sid"]);
}
session_start();
//图片存储
?>
参考资料
http://stackoverflow.com/questions/10488110/swfupload-302-error