问题标签 [data-uri]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
13749 浏览

javascript - 如何将图像二进制从 API 调用转换为 Javascript 中的数据 URI?

我正在使用的 Google API 仅将图像作为二进制数据传输。

我完全不知道如何将其放入数据 URI 中以显示它,感谢您的帮助!

我正在谈论的调用是这个 API 调用

如您所见,它说:

服务器返回照片的字节数。

对于通话(它是一个扩展),我使用 chrome_ex_oauth 方法。也许我需要在标题中添加一些东西来获取真正的二进制数据,而不是现在出现的字符串......

我需要做的是将生成的二进制文件转换为数据 URI,以便我可以显示它。


好的,我从 XHR 请求中得到了这个

在此处输入图像描述

现在,我不太了解二进制的东西。这是我假设的某种编码二进制数据?我试图将它放入 btoa 和其他 base64 编码器中,一切都会引发错误。我试图用不同的东西覆盖MimeType,并且“响应”以一些奇怪的方式发生了变化,但没有任何东西接受数据。

所以现在我有这个代码:

其他任何人都知道如何让我无法理解对数据uri的响应???

谢谢你的帮助

0 投票
1 回答
848 浏览

svg - 数据 URI 和 Graphviz

是否可以使用 Graphviz [image] 标签嵌入数据 URI 字符串?IE

simple.dot:(应该显示一个红点图像 -> 节点 B)

运行这个

这是我得到的错误

生成的图形在节点 A 中不显示图像。

你知道如何解决这个问题吗?

谢谢!

0 投票
1 回答
1531 浏览

firefox - Three.js 中的 DataURI 图像纹理在 Firefox 中不起作用

我正在使用three.js 进行一些在线交互式地质建模,并且一直在使用Canvas 元素创建图像URI(输出为:data:image/png;base64,)。

图像创建在 Chrome、Firefox 和 Safari 中运行良好,但使用 three.js 中的图像作为纹理不会出现在 Firefox 中

我可以展示的最简单的演示是通过更改 three.js 示例的一行,用图像 URL 替换 dataURI,并将其用作纹理。

http://visiblegeology.com/renderingProblem/

这在 Chrome 和 Safari 中对我来说很好,但在 Firefox 中却没有。

我想知道是否有人有任何建议、解决方法或想法。

谢谢你的帮助,

罗文

0 投票
2 回答
1222 浏览

javascript - 保存时的javascript数据URI字符集

我在 utf-8 页面中使用这样的东西:

强制浏览器下载文本并保存。我工作正常,除了当我在 excel 中打开文件时它没有正确打开(它既不读取分隔符也不读取阿拉伯字符)。我需要“导入数据”以指定文件是 UTF-8,当我这样做时这可以正常工作...当我在记事本中打开文件并以 unicode 重新保存它时...它可以正常工作。有没有办法强制它从一开始就保存在 unicode 中?或使 csv 文件在 excel 中正确打开。

我试图将其更改为“charset=utf-16”,但没有成功。

PS:我无法更改页面字符集。

任何帮助表示赞赏。谢谢

0 投票
2 回答
11181 浏览

email - 您可以将 data:uri 格式的图像发送到 GMail 吗?

我正在 Django 中制作一个网络应用程序,向用户发送图像到他们的电子邮件。

发送图像对我来说最有吸引力的方式是data:uri格式。

但是,我测试了将这封带有 data:uri 图像的电子邮件发送到我的 GMail 帐户,并且电子邮件显示,但没有图像!

我知道 Chrome 和 Firefox 都可以打开 data:uri 图像。所以这不是浏览器的问题。但我根本没有在 GMail 中看到 data:uri 图像。

GMail 不支持 data:uri 图像吗?或者可能我发错了?

0 投票
1 回答
1802 浏览

html - 如何强制下载的 gzipped 数据 URI 的文件扩展名?

我有一个 GZipped JavaScript 文件,我使用 data:URI 对其进行编码。

例如:

当用户右键单击并保存此文件(在 Chrome 中)时,我希望生成的文件名为download.js.gz. 这样,当用户双击该文件(在 Mac OS X 中)时,它会被正确解压缩并重命名为download.js,并且他们可以轻松查看内容。

问题是当我使用内容类型text/javascript(或application/x-javascript)时,文件被保存为download.js. 当我使用内容类型application/x-gzip时,文件被保存为download.gz.

有没有办法让文件保存为.js.gz

这是两个链接的工作示例:http: //jsfiddle.net/xYm8w/3/

该文件必须是数据 uri,而不是指向实际文件的链接。我尝试更改标签之间的文本<a>,但它根本不影响任何东西。

0 投票
4 回答
26350 浏览

css - 如何获得旋转的线性渐变 svg 用作背景图像?

我已经看到了一些围绕这个问题的问题,所以我希望这不是多余的。理想情况下,我想要一个image/svg+xml100% 的容器。 Colorzilla让我有了一个很好的开始data:image/svg+xml

注意:width="100%" height="100%"我想采用这个渐变并旋转它,比如说65deg HTML5 canvas API 为我提供了一种很好的方式来构建这个图像,然后使用.toDataURL()PNG 来填充 IE8 和 IE7,但我想要一些可扩展的 IE9 .

所以目标是复制这个:

具有image/svg+xml100% 的宽度和高度。

我确实尝试了http://svg-edit.googlecode.com,但对于我想要做的编辑类型,界面不太直观。谢谢!

0 投票
1 回答
3415 浏览

javascript - 在 javascript 中包括 base64 gzipped 样式表/图像?

我知道您可以包含 css 和图像以及其他文件类型,它们以 base64 格式存储在 javascript 文件中。然而,这些都是相当大的......并且经过 gzip 压缩,它们缩小了很多,即使 base64 编码的开销约为 33%。

非gzip压缩,图片为data:image/gif;base64,data:image/jpeg,data:image/png,css为data:text/css;base64。那么,我可以/应该使用什么 mime 类型来包含 gzip 压缩的 css 或图像数据 URI?(或者如果 gzip+base64 不能工作,我可以做任何其他压缩来降低字符串的大小,同时仍将数据存储在 javascript 中吗?)

..编辑..我认为这个问题被误解了。我不是在问是否应该在 javascript 中包含 gzipped base64 字符串。是的,我知道在大多数情况下,最好在服务器端对 javascript 和其他文件进行 gzip 压缩。但这不适用于用户脚本;用户脚本没有服务器,并且只包含一个文件。Firefox 允许使用 @require 指令,但 Opera 和 Chrome 不允许,并且本地文件安全问题会在加载任何本地文件时发挥作用。因此,脚本所需的任何内容都必须是:1)在网络上(慢)或 2)嵌入在用户脚本中(大)。

现在这个问题假设大比慢更可取,但大并不一定意味着我们完全忽略了有多大;如果它可以更小,那就是一个改进。

所以假设一个base64字符串嵌入在javascript中,问题是如何让它变得有意义。

任何一个:

1) atob() 可以将原始 base64 编码的 gzip 转换为 javascript 中的原始 gzip。(atob 不需要知道媒体类型)。然后的问题是如何解压缩原始 gzip 压缩的 css 或图像文件,以便可以将生成的输出输入到文档中。

或 2)给定适当的媒体类型,浏览器至少在理论上(根据 datauri RFC)应该能够直接从 datauri 加载任何文件。"" 足以加载非 gzip 压缩的 css 样式表。这里的问题是应该使用哪种链接类型属性和 datauri 媒体类型组合(以及它适用于哪些浏览器)?最好,对于用户脚本,这将是在 Opera、FF 和 Chrome 中工作的组合。

0 投票
7 回答
82275 浏览

html - 编码为 data-uri 的空白图像

我已经构建了一个图像滑块(基于了不起的bxSlider),它将在图像滑入视图之前即时预加载图像。它已经运行得很好,但我认为我的解决方案不是有效的 HTML。

我的技术如下:我生成滑块标记,第一张幻灯片图像照常插入(带有<img src="foo.jpg">),随后的图像在数据属性中引用,如<img data-orig="bar.jpg">. 然后,Javascriptdata-orig -> src在必要时处理更改,触发预加载。

换句话说,我有:

为了避免空src=""属性(这在某些浏览器中对性能有害),我已经插入以有效地插入空白图像作为占位符。src="data:"

问题是,我似乎在data-URI 的文档中找不到任何内容,说明这是否是有效的 data-URI。我基本上想要解析为空白/透明图像的最小数据 URI,因此浏览器可以立即解析 src 并继续前进(没有错误或网络请求)。也许src="data:image/gif;base64,"会更好?

0 投票
2 回答
93753 浏览

javascript - 将 HTML 转换为数据:使用 JavaScript 的文本/html 链接

这是我的 HTML:

如何使用 JavaScript 使href我的链接属性指向来源为innerHTMLof的 base64 编码网页div#html

除了在 JavaScript 中,我基本上想在此处进行相同的转换(选中 base64 复选框)。