我使用uploadify 将文件上传到我的网站。
它与一家托管公司合作。并且不与其他公司 (sweb.ru)。
错误是:HTTP 错误:302。
有谁知道如何解决这个问题。谢谢。
我使用uploadify 将文件上传到我的网站。
它与一家托管公司合作。并且不与其他公司 (sweb.ru)。
错误是:HTTP 错误:302。
有谁知道如何解决这个问题。谢谢。
对于使用 Uploadify 和 PHP 框架(例如 CodeIgniter、CakePHP、Kohana、Yii 等)遇到此问题的任何人:
Flash 不会传递您现有的 PHP 会话信息,因此如果您收到 302 错误,则很可能您的应用程序正在将登录 URL 返回到 Flash 播放器。要解决此问题,您可以在scriptData中包含会话信息并在应用程序中手动管理它。
通过在 htaccess 中添加“SecFilterEngine Off”解决了问题
请记住,您可能必须停止重定向。我正在使用 cakephp。要在调用 uploadify / ajax 方法时停止触发身份验证,您必须将以下内容添加到控制器中。
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);
}
});
});
如前所述,302
是重定向状态代码,因此可能在沿线某处发生重定向。
您可能需要询问托管公司。我的第一个怀疑是您发布到已激活转发的域,例如domain.com
=> www.domain.com
。
在入口脚本的开头试试这个:
if (isset($_POST['PHPSESSID']))
{
$_COOKIE['PHPSESSID'] = $_POST['PHPSESSID'];
}
然后会话组件将照常从 cookie 中读取正确的会话 ID。
我从 Yii 框架论坛得到这个
刚刚在一个有这个问题的项目上工作。我有一个想要更新的个人资料图片,但在 Firefox 中继续收到此错误。我很快意识到,uploadify 试图覆盖的原始图像是通过 FTP 以不同于公共 Web 服务用户的用户身份上传的。即使权限设置为 777,该 302 错误仍会继续发生。我通过 FTP 删除了图像,让网络用户上传新的图像。然后我能够覆盖图像,消除我收到的 302 错误。
对于那些使用Kohana PHP 框架并努力让Uploadify与会话一起工作的人,这里有一个关于如何使它更好玩的快速文章:
http://www.serializethis.com/using-uploadify-and-kohana-without-http-error-302/