点击图片链接不是打开 而是下载

如何才能做到点击a链接的图片 是下载而不是打开
a href="a.jpg" alt="" /a

求大神指教

阅读 14.1k
3 个回答

<a>有个download属性,具体看这里

楼上已经给了前端处理这个问题的方案;

这里给一个后端的方案;

写一个方法;
里面调用下面这个函数;把图片路径传进去;
点击就是下载;而不是打开图片了;

/**
 * 强制下载文件
 * @param  string $file 文件路径
 */
function force_download($file)
{
    if ((isset($file)) && (file_exists($file))) {
        header("Content-length: ".filesize($file));
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename="'.basename($file).'"');
        readfile($file);
    } else {
        echo "No file selected";
    }
}
//使用示例
force_download('./test.jpg');

两种方案
1.用程序输出下载
2.修改服务器MIME

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题