对于多个文件,单击时会提示保存文件下载框


prompt save file download box on click for multiple files

php

<a href="<?php echo $path_data['wall_path'];?>">
<?php echo $dimensions_data['width'] . "x" . $dimensions_data['height']; ?></a>

输出

<li><a href="wallpapers/2014/04/scape-640x960-640x960.jpg">640x960</a></li>
<li><a href="wallpapers/2014/04/scape-640x1136-640x1136.jpg">640x1136</a></li>
<li><a href="wallpapers/2014/04/scape-720x1280-720x1280.jpg">720x1280</a></li>
<li><a href="wallpapers/2014/04/scape-768x1280-768x1280.jpg">768x1280</a></li>
<li><a href="wallpapers/2014/04/scape-1080x1920-1080x1920.jpg">1080x1920</a></li>

现在我需要做的是,当用户clicks的任何一个大小时,我都要提示一个包含适当size文件的保存文件对话框。我已经读过使用PHP和PHP强制文件下载来下载文件,但根据我的理解,这些都是单文件下载。如果没有,请纠正我。

限制条件:当用户单击链接时,不想转发到另一个类似download.php文件的页面。

通常情况下,浏览器不会显示图像的下载对话框,而是显示图像,即所需的行为。然后,您可以单击"另存为…"并保存图像。

浏览器对文件的处理取决于web服务器为该文件发送的mime类型。对于jpg图像,它将是

image/jpeg

如果你真的想欺骗浏览器显示保存对话框,你需要为这些文件发送一个不同的mime类型,比如:

application/octet-stream

这可以使用download.php文件(或其他任何文件)来完成,该文件修改头并输出文件。可以使用重写的url对用户隐藏这样一个download.php的存在。

如果你不想这样,你需要告诉web服务器,它应该为这些文件发送一个不同的mime类型。例如,如果您运行apache,您可以在.htaccess文件中添加以下行:

AddType application/octet-stream .jpg