我们的系统存储用户在webroot上方上传的文件,文件名存储在DB中。当用户想要下载时,他们会点击文件名,我们的下载页面会使用以下内容获取文件...
header('Content-Type: '.$mime);
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.sprintf('%d', $filesize));
header('Expires: 0');
// check for IE only headers
if (isset($_SERVER['HTTP_USER_AGENT']) && (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)) {
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
} else {
header('Pragma: no-cache');
}
$handle = fopen($filepath, 'rb');
fpassthru($handle);
fclose($handle);
现在似乎适用于所有浏览器,但是当我们尝试使用iOS或Android设备时,没有任何反应。希望有人会看到我错过的明显事物。我是开发手持式/平板电脑设备的新手。
由于
答案 0 :(得分:0)
你可以检查
header(“Content-Type:application / octet-stream”);
而不是提供mime类型。