这是我用JS + jQuery制作的用户脚本.我想知道是否可以找到给定URL的文件名.
它的形式为:
http://example.org/download.php?action=download&id=1234
Run Code Online (Sandbox Code Playgroud)
然后该链接下载诸如"cat.jpg"之类的文件.
如何找出文件名的名称?我不需要在用户计算机上实际保存文件 - 只需要找到文件的名称.
我愿意使用任何JS库 - 但是我需要确保文件实际上没有保存在用户计算机中(或者它可能只是保存在某个临时文件夹中).
dfs*_*fsq 31
您可以做的简单事情是发出HEAD请求,这样您实际上不会下载文件而只会下载响应头.从那里你得到Content-Disposition包含filename字段的标题.
在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);
}
});
Run Code Online (Sandbox Code Playgroud)
header变量将是类似的东西attachment; filename="image.jpg".现在提取文件名部分很容易:
var filename = header.match(/filename="(.+)"/)[1]; // image.jpg
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9284 次 |
| 最近记录: |