-4

我正在开发具有grooveshark integration音乐和图像共享功能的社交网站,例如 Facebook。这是完整的ajaxify 网站。所以在这个网站上,一个人可以听音乐,另一方面他可以做其他事情,比如他可以分享状态、上传图片、分享链接,如 facebook。当用户打开任何图像时,有按钮下载它。我的问题是,当我在播放音乐时单击下载按钮下载图像时,它会导致(如果我通过检查元素在网络中看到)流式传输失败,部分内容(http代码 206)以及下载调用显示已取消,但返回 http 代码 200ok(通过检查元素在网络中)。这是代码:

 if(file_exists($media_name))
 $path='../webroot/img/user_media/original_uploaded_size/'.$user_id;
    else
    $path='../webroot/img/user_media/single_photo_878_549/'.$user_id;

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($media_name));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($path));
ob_clean();
flush();
readfile($path);

请帮忙。
如果有人不明白,请发表评论,我会告诉你我的问题......

4

1 回答 1

0

你在使用会话吗?尝试session_write_close();在您的请求结束时使用。这将基本上完成请求。

于 2012-09-10T08:28:16.380 回答