我使用uploadify将文件上传到我的网站。
它与一家托管公司合作。并不与其他公司(sweb.ru)。
错误是:HTTP错误:302。
有人知道如何解决此问题。感谢。
答案 0 :(得分:20)
对于任何有上传和PHP框架问题的人(例如CodeIgniter,CakePHP,Kohana,Yii等):
Flash不会传递您现有的PHP会话信息,因此如果您收到302错误,您的应用程序可能会将登录URL返回给Flash播放器。要解决此问题,您可以在 scriptData 中包含会话信息,并在应用程序中手动管理。
答案 1 :(得分:3)
通过在htaccess中添加“SecFilterEngine Off”来解决问题
答案 2 :(得分:3)
请记住,您可能必须停止重定向。 我正在使用cakephp。 要在调用uploadify / ajax方法时停止启动auth,您必须将以下内容添加到控制器。
public function beforeFilter()
{
parent::beforeFilter();
$this->Auth->allowedActions = array('admin_attach');
}
“admin_attach”是我在视图中由uploadify调用的方法。
$(document).ready(function() {
$('.image-attach').uploadify({
'uploader' : '/uploadify/uploadify.swf',
'script' : '/admin/featureds/featured_resources/attach/',
'cancelImg' : '/uploadify/cancel.png',
'buttonText' : 'Select image',
'fileDataName' : 'uploadify',
'auto' : true,
onComplete : function(event, id, fileObj, resp, data){
alert(resp);
}
});
});
答案 3 :(得分:1)
如上所述,302
是一个重定向状态代码,因此可能会在该行的某处发生重定向。
您可能需要询问托管公司。我的第一个怀疑是你发布到一个已经激活转发的域名,例如domain.com
=> www.domain.com
。
答案 4 :(得分:0)
在入门脚本的开头尝试:
if (isset($_POST['PHPSESSID']))
{
$_COOKIE['PHPSESSID'] = $_POST['PHPSESSID'];
}
会话组件将照常从cookie中读取正确的会话ID。
我从Yii框架论坛获得了这个
答案 5 :(得分:0)
刚刚处理过这个问题的项目。我有一个我想要更新的个人资料图片,但在Firefox中继续收到此错误。我很快意识到uploadify试图覆盖的原始图像是通过FTP上传的,与公共Web服务用户不同。即使权限设置为777,也会继续发生302错误。 我通过FTP删除了图像,让网络用户上传新的图像。然后我能够覆盖图像,取消了我收到的302错误。
答案 6 :(得分:0)
对于那些使用 Kohana PHP框架的人来说,他们正在努力让 Uploadify 与会话一起工作,这里有一篇关于如何让它发挥得很好的快速写作:
http://www.serializethis.com/using-uploadify-and-kohana-without-http-error-302/