0

您好我正在尝试在 kohana 2.3.4 中实现 uploadify 脚本,当我将 uploadify 脚本放在根目录上然后在我的视图文件中指出它时它可以工作。但是当我将脚本指向一个控制器时,它会返回一个 http 错误。下面是js脚本:

 <script type="text/javascript">
// <![CDATA[
$(document).ready(function() {
$('#file_upload').uploadify({
'uploader'  : '<?=url::base()?>uploadify/uploadify.swf',
'script'    : '<?=url::base()?>uploadify', /*Even tried     http://localhost/directory/uploadify*/
'cancelImg' : '<?=url::base()?>uploadify/cancel.png',
'folder'    : '<?=url::base().$directory?>',
'multi'       : true,
'removeCompleted' : false,
'auto'      : true
 });
 });
 // ]]>
</script>
4

1 回答 1

0

不确定您收到了什么错误,但如果您的页面需要身份验证并且控制器无法验证用户身份,那么您可以按照我的解决方案进行操作。问题是uploadify 使用flash 并且flash 中存在错误,它不会将cookie 发送到服务器。

我改变了它如下图所示让它工作。在 js 中(用于 kohana)

$('#file_upload').uploadify({
    uploader: base_url+"upload/image?sess=<?php Session::instance()->id(); ?>",
});

在普通的php中

$('#file_upload').uploadify({
    uploader: base_url+"upload/image?sess=<?php session_id();?>",
});

并在 kohana 控制器中从会话读取身份验证时,初始化会话如下

  $sess_id = Arr::get($_GET,'sess',null);
  $sess = Session::instance(null,$sess_id);

或者在普通的php中

session_name($_GET['sess']);
session_start();

将来如果闪存中的错误已修复,则无需执行此操作

于 2012-10-02T06:11:38.357 回答