有没有办法强制用户从href链接下载文件而不是在浏览器窗口中打开它?

Mag*_*pue 4 html javascript php

基本上我写了一个脚本,根据用户输入生成一个xml文件.生成文件后,下载链接如下所示:

<a href="path/to/file.xml">Download File</a>
Run Code Online (Sandbox Code Playgroud)

但是当点击它在浏览器中打开xml时,我希望它在它点击的链接时开始下载.有没有办法实现这一目标?

Joh*_*ala 6

是的,有.它确实需要指定一些标题.究竟它是如何工作的取决于你使用的是什么语言,但这里是一个使用php的例子,取自php.net:

<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in original.pdf
readfile('original.pdf');
?>
Run Code Online (Sandbox Code Playgroud)

基本上,首先我们告诉客户端我们发送的文件类型是什么,然后我们告诉客户端我们发送的是附件,它的名称,而不是它要显示的页面,然后最后我们打印/将文件读取到输出.

鉴于您已经使用php生成xml文件,我建议将上面的头命令添加到生成xml文件的代码中,并查看是否可以实现.