我正在尝试使用PHP和标头在iPad和iPhone上下载图像。 我使用Amazon S3的动态URL,因此,我的系统需要在开始下载操作之前获取图像URL。
然后,系统将映像下载到TMP目录中,并继续以下代码(假设$ file_name已定义且有效):
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($file_name)) . ' GMT');
header('Cache-Control: private');
header('Content-Description: File Transfer');
header('Content-Type: ' . getMimeType($file_name));
header('Content-Disposition: attachment; filename="' . basename($file_name) . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file_name)); // provide file size
header('Connection: close');
ob_get_clean();
readfile($file_name);
使用此代码,如果从Windows,Linux,Mac和android开始但不是在ios(iPhone和iPad)上启动,下载将立即生效。
有人可以帮助我吗? 谢谢。