【发布时间】:2014-02-11 16:53:52
【问题描述】:
我正在尝试使用 Uploadify 来处理我在 Symfony2 中的文件上传。图片上传需要调用一个控制器,在控制器内部会获取当前登录用户,根据当前用户名创建子目录,然后将文件移动到该文件夹。问题是当我运行 $user->getUsername() 或与 $user 对象相关的任何其他函数时,上传失败并出现 HTTP 500 错误,但是当我从 URL 运行此控制器时一切正常。
这里有一些代码:
上传的前端配置:
<script type="text/javascript">
$(document).ready(function() {
$('#fileupload').uploadify(
{
'swf': "{{ asset('javascript/uploadify.swf') }}",
'uploader': "{{ path('EasyLife_upload_avatar')}}",
'auto': true,
'buttonText': "Upload Avatar",
"buttonClass": "label",
"height": 30,
"width": 80,
"onUploadSuccess": function(file, data, response) {
alert("Successful " + file.name + " to :" + data + ":" + response);
},
'onUploadError' : function(file, errorCode, errorMsg, errorString) {
alert('The file ' + file.name + ' could not be uploaded: ' + errorString);
}
});
});
</script>
这是处理上传的控制器:
public function uploadAvatarAction() {
$user = $this->getUser();
$user->getUsername(); // problem appears when this line is added on an Ajax call
$targetFolder = "upload/avatar";
return new Response($targetFolder);
}
我实际上在其他控制器的项目中都有 $user->getUsername() ,它们都很好,即使这个也适用于直接 URL 调用,但是当被 Ajax 调用时出现问题,有多奇怪?
有人可以帮忙吗?非常感谢!
【问题讨论】:
标签: ajax symfony upload uploadify