这是我用 JS+jQuery 制作的用户脚本。我想知道是否可以根据给定的 URL 找到文件名。
它的形式如下:
http://example.org/download.php?action=download&id=1234
然后该链接会下载一个文件,例如“cat.jpg”。
如何找出文件名?我不需要实际将文件保存在用户计算机上 - 只需找到文件的名称。
我愿意使用任何 JS 库 - 但我需要确保该文件实际上并未保存在用户计算机中(或者可能只是保存在某个临时文件夹中)。
您可以做的简单事情就是发出 HEAD 请求,这样您实际上就不会下载文件,而只会下载响应标头。从那里你得到Content-Disposition
标头包含filename
field.
jQuery 中是这样的:
$.ajax({
type: "HEAD",
url: 'http://example.org/download.php?action=download&id=1234',
success: function(message, text, response) {
var header = response.getResponseHeader('Content-Disposition');
console.log(header);
}
});
header
变量会是这样的attachment; filename="image.jpg"
。现在很容易提取文件名部分:
var filename = header.match(/filename="(.+)"/)[1]; // image.jpg
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)