如何通过 URL 下载文件并获取其名称

2023-11-27

这是我用 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(使用前将#替换为@)

如何通过 URL 下载文件并获取其名称 的相关文章

随机推荐

  • 可以链接比较运算符吗?

    到目前为止 我无法在官方 PHP 文档或本网站上找到此信息 因此 这可能意味着我正在使用错误的术语进行搜索 或者它不受支持 我在寻找什么 我来描述一下 假设我在 PHP 中有以下比较 if a b b c doSomething else
  • Symfony 2:如何处理表单中的嵌套集合

    我正在尝试创建一个包含嵌套集合的表单 我不知道如何处理 JS 部分来显示子集合 有人知道我该怎么做吗 这是我的表单的代码 class ParentFormType extends AbstractType public function b
  • ffmpeg解码h264延迟

    我正在获取原始 RGB 帧 将它们编码为 h264 然后将它们解码回原始 RGB 帧 RGB frame encoder gt h264 stream decoder gt RGB frame encoder write encoder r
  • 相当于SQL Server中Oracle的RowID

    SQL Server 中 Oracle 的 RowID 相当于什么 来自 Oracle 文档 ROWID伪列 对于数据库中的每一行 ROWID 伪列返回 该行的地址 Oracle数据库rowid值包含信息 需要定位一行 对象的数据对象编号
  • jq 按值从数组中删除元素

    我在用着jq并尝试根据其值从数组中删除元素 但无法弄清楚语法 它适用于 map 但不适用于 del input 10 11 12 echo input jq r map select 10 回报 10 echo input jq r del
  • 如何使用 Windows Powershell 自动打印为 PDF

    我有一个文件夹 其中有n个word excel和powerpoint文件 扩展名为 Doc Docx xls xlsx ppt等 应使用 Microsoft 打印到 PDF 选项将这些文件的内容转换为 PDF 而不改变其格式 并且输出文件应
  • 双模板方法的部分特化失败

    有模板类List template
  • 如何从 ruby​​ 中调用 C++ 函数

    我是一位经验丰富的 C C 开发人员 但我是 Ruby 的新手 如何在 Ruby 中使用 with 调用 C 函数 你有3种可能性 1 Ruby能够加载库 即使有点棘手 您也可以决定编写自己的加载器并在 Ruby 中绑定您的 C 库 这是使
  • 如何在 PhpDoc 中指定对象数组[重复]

  • **失败** 如何使用 sun.misc.Unsafe 加快 byte[] 查找速度?

    我正在尝试使用 Unsafe 来迭代内存 而不是迭代 byte 中的值 使用 unsafe 分配内存块 内存足以保存 65536 字节值 我正在尝试这个 char aChar some character if byte 0 unsafe
  • 如何在使用 Spring @Value 时进行简单的属性验证

    我该如何检查 如果 service property 不是空字符串 如果是 抛出某种可读的异常 它必须在 Bean 创建期间发生 Component public class Service Value service property p
  • 如何在Android Studio中高亮Room Dao的SQL语法

    与新Room 如何突出显示 SQL 语法Dao接口 例如 Query SELECT FROM user 是否可以突出显示单词SELECT FROM具有与单词不同的颜色和文本格式user 我找到了答案这个链接
  • 类型错误:“int”类型的参数不可迭代

    当我运行我的程序时 我收到此错误 但我不知道为什么 错误发生在 if 1 not in c 行上 Code matrix 0 0 0 5 0 0 0 0 6 8 0 0 0 4 7 5 0 3 0 5 0 0 0 3 0 0 0 0 7 0
  • SVG 不会在 Firefox 中渲染字体(适用于 IE9 和 Chrome)

    我在 PSD 文件中有矢量标志 当我将其导出为 AI Adobe Illustrator 文件然后转换为 SVG 时 我得到如下内容
  • 在 y 轴上方添加空间而不使用 Expand()

    当绘制百分比且列处于 100 时 值标签将从图表中删除 Two possible solutions to this are 1 scale y continuous limits c 0 1 1 2 scale y continuous
  • VBA停止单元格计算

    对 Excel 中的 VBA 非常陌生 被要求对单元格更改进行一些验证 但遇到了一些困难 因此 用户需要在单元格中输入货币值 比如说 D16 所以我想我应该挂接到工作表上的 Change 事件 该事件效果很好 但是 当条目提交到 D16 时
  • 存档苹果 LLVM 6.0 错误无法读取配置文件

    在设备测试时一切正常 但是当我想要存档时 xcode 给出这样的错误 错误 无法读取配置文件 没有这样的文件或目录 这是错误 CompileC Users wikimo Library Developer Xcode DerivedData
  • 如何在R中绘制极坐标?

    假设 x t y t 具有极坐标 t 2 t 绘制 t 0 10 的 x t y t R 中没有适当的函数来用极坐标进行绘图 我尝试通过给出 x t y 2 t 来绘制正态图 但生成的图表并不符合预期 我从 使用 r 进行科学编程和模拟简介
  • C# 中的定点数学

    C 中有一些关于定点数学的好资源吗 我见过这样的事情 http 2ddev 72dpiarmy com viewtopic php id 156 和这个 进行定点数学运算的最佳方法是什么 以及一些关于小数是真正定点还是实际上浮点的讨论 更新
  • 如何通过 URL 下载文件并获取其名称

    这是我用 JS jQuery 制作的用户脚本 我想知道是否可以根据给定的 URL 找到文件名 它的形式如下 http example org download php action download id 1234 然后该链接会下载一个文件