Azure blob 文件下载链接

2024-03-21

我有一个 blob,已存储在 Azure blob 存储中(使用开发模拟器)。

它全部保存,我可以在 blob 存储的服务器资源管理器中看到它(file.mp3,如果重要的话)。

然后我在我的网站中链接到它,但是当我单击该链接时,我收到了 206(部分内容)(显然没有文件)。如果我右键单击“保存”,一切都很顺利并且文件下载。

我确信这是我错过的一些非常菜鸟的东西,但我看不到它。


这是因为,浏览器不会下载整个媒体文件,浏览器会请求 Blob 存储正确响应一个字节和标头的范围。这称为 HTTP 流式传输,其中部分文件将按范围下载并逐步播放。在这种形式的流式传输中,您可以跳过文件的某些部分并转到末尾播放媒体的结尾部分,而无需下载整个文件。

假设您正在观看一部大电影,该电影有 100 MB。如果您想观看最后一分钟,您可以将播放器的跟踪器在时间轴上向前移动,浏览器将仅根据媒体文件中的时间轴结构下载最后几兆字节。通常 MP4 和类似的媒体容器支持文件字节位置跟踪。

如果可能的话,浏览器和大多数媒体播放器都会尝试流式传输媒体文件。

您可以尝试以下下载属性, 参考:http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download

<a href="http://www.google.com/.../logo2w.png" download="MyGoogleLogo">download me</a>

您可以尝试以下代码,来自此答案,参考:Chrome 扩展:如何将文件保存到磁盘上 https://stackoverflow.com/questions/2153979/chrome-extension-how-to-save-a-file-on-disk

var url = window.webkitURL || window.URL || window.mozURL || window.msURL;
var a = document.createElement('a');
a.download = 'MyHangouts-MomentCapture.jpg';
a.href = url.createObjectURL(dataURIToBlob(data.active, 'jpg'));
a.textContent = 'Click here to download!';
a.dataset.downloadurl = ['jpg', a.download, a.href].join(':');


/**
 * Converts the Data Image URI to a Blob.
 *
 * @param {string} dataURI base64 data image URI.
 * @param {string} mimetype the image mimetype.
 */
var dataURIToBlob = function(dataURI, mimetype) {
  var BASE64_MARKER = ';base64,';
  var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
  var base64 = dataURI.substring(base64Index);
  var raw = window.atob(base64);
  var rawLength = raw.length;
  var uInt8Array = new Uint8Array(rawLength);

  for (var i = 0; i < rawLength; ++i) {
    uInt8Array[i] = raw.charCodeAt(i);
  }

  var bb = new this.BlobBuilder();
  bb.append(uInt8Array.buffer);
  return bb.getBlob(mimetype);
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure blob 文件下载链接 的相关文章

随机推荐

  • 没有为命名空间 / 和操作名称映射的操作教程

    我无法执行我的 struts2 应用程序 我正在使用 eclipse indigo IDE tomcat 7 和 jdk 1 7 我包含的 jar 文件是 commons logging 1 0 4 jar freemarker 2 3 8
  • *NSFileProtectionComplete* 到底是什么意思?

    我正在看NS文件管理器 https developer apple com library prerelease mac documentation Cocoa Reference Foundation Classes NSFileMana
  • OCaml 中的类型共享 - 类型检查器错误

    编译这个程序时 module type Inc sig type t val inc t gt t end module type Dec sig type t val dec t gt t end module Merger I Inc
  • 如何使用 mysqldump 跳过某些数据库表?

    有没有办法限制 mysqldump 命令中的某些表 例如 我将使用以下语法来转储only table1 and table2 mysqldump u username p database table1 table2 gt database
  • HttpContext.SignInAsync 之后获取当前 HttpRequest 中的 AuthenticationProperties

    我正在使用 ASP net Core MVC 在登录过程中 在 POST 控制器操作中 我将 HttpContext SignInAsync 与包含 JWT 访问令牌的 AuthenticationProperties 结合使用 在同一个
  • 在 Flask-SQLAlchemy 中隔离 py.test 数据库会话

    我正在尝试使用 Flask SQLAlchemy 构建 Flask 应用程序 我使用 pytest 来测试数据库 问题之一似乎是在不同测试之间创建隔离的数据库会话 我编写了一个最小的完整示例来突出问题 请注意test user schema
  • EF4 中的并发 - 如何有条件地创建实体

    我需要能够创建一个新的用户实体only if提供的电子邮件是唯一的 我以前总是通过执行一个简单的操作来处理这个问题if UserSet Any 在我之前AddToUserSet 然而 这不是一个并发解决方案 并且会在重负载下崩溃 我一直在研
  • 在android中渲染epub书?

    我尝试在 android pad 中显示 epub 书 我可以解析html和css 以显示书的内容和格式 也许书包含图片 看来我有两个选择 使用网络视图 编写一个客户视图 以便它可以渲染 html css 这似乎是一个非常复杂的任务 哪个是
  • CGContext 中的 alpha 像素数

    我有一个掩蔽CGContext有两种类型的像素 颜色和 Alpha 不透明和透明像素 如何计算上下文中 alpha 像素的百分比 我没有测试它 但这应该可以解决问题 只需将 ReportAlphaPercent 传递给 CGImageRef
  • Color.red 和 Color.RED 之间的区别

    定义之间的真正区别是什么setXxx Color red and setXxx Color RED 我在网上找到了以下解释 这都是关于命名约定的吗 Java最初定义了一些小写的颜色常量名称 这违反了常量使用大写的命名规则 它们在所有 Jav
  • 捕获子进程输出[重复]

    这个问题在这里已经有答案了 我了解到 在Python中执行命令时 我应该使用子进程 我想要实现的是通过 ffmpeg 对文件进行编码并观察程序输出 直到文件完成 Ffmpeg 将进度记录到 stderr 如果我尝试这样的事情 child s
  • 如何在 PHP 中从 Linkedin 公司 URL 获取公司 ID?

    我的 Linkedin 公司网址如下 http in linkedin com company abb ABB 有限公司的公司 ID 是277579 基本上您还可以通过以下方式联系 ABBhttp www linkedin com comp
  • 如何设置react-select中可以选择的最大项目数?

    我正在使用反应选择中的 CreatableSelect 组件 现在用户可以选择任意数量的项目 但我希望用户选择的项目不超过 5 个 如何限制可以选择的最大选项数
  • twilio 对话跟踪 ID

    我正在使用 twilio 创建一个聊天应用程序 但在跟踪多个用户之间的对话和多个对话时遇到问题 Example 对话 gt 用户 A 和用户 B 对话2 gt 用户A 和用户B 当用户A在对话2中向用户B发送消息时 当我收到用户A发来的短信
  • 如何每 X 分钟运行一次 cronjob?

    我正在 cronjob 中运行 PHP 脚本 我想每 5 分钟发送一次电子邮件 我当前的 crontab cronjob 10 usr bin php mydomain in cromail php gt dev null 2 gt 1 c
  • 将从 URL 输出的 JSON 保存到文件

    如何将 URL 输出的 JSON 保存到文件中 例如 来自 Twitter 搜索 API 此http search twitter com search json q hi http search twitter com search js
  • 来自 .clone() 的空文件输入

    我正在尝试克隆一个文件输入表单 每次我选择一个文件时then单击 添加更多 克隆文件输入 但它已复制输入中选定的文件
  • 信号 11 SIGSEGV 崩溃 Android

    今天我遇到了一个错误 导致我的 Android 应用程序收到 SIGNAL 11 信号 此错误通常是由于 Android 内部存储未经授权的内存区域访问而发生的 一些可能的场景是Web访问 网络通信 服务器图像下载等 我的是浏览器加载 ur
  • AngularJS 选择的空值

    我找不到优雅的设置方式null值与
  • Azure blob 文件下载链接

    我有一个 blob 已存储在 Azure blob 存储中 使用开发模拟器 它全部保存 我可以在 blob 存储的服务器资源管理器中看到它 file mp3 如果重要的话 然后我在我的网站中链接到它 但是当我单击该链接时 我收到了 206