问题标签 [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.
javascript - 如何将图像二进制从 API 调用转换为 Javascript 中的数据 URI?
我正在使用的 Google API 仅将图像作为二进制数据传输。
我完全不知道如何将其放入数据 URI 中以显示它,感谢您的帮助!
我正在谈论的调用是这个 API 调用。
如您所见,它说:
服务器返回照片的字节数。
对于通话(它是一个扩展),我使用 chrome_ex_oauth 方法。也许我需要在标题中添加一些东西来获取真正的二进制数据,而不是现在出现的字符串......
我需要做的是将生成的二进制文件转换为数据 URI,以便我可以显示它。
好的,我从 XHR 请求中得到了这个
现在,我不太了解二进制的东西。这是我假设的某种编码二进制数据?我试图将它放入 btoa 和其他 base64 编码器中,一切都会引发错误。我试图用不同的东西覆盖MimeType,并且“响应”以一些奇怪的方式发生了变化,但没有任何东西接受数据。
所以现在我有这个代码:
其他任何人都知道如何让我无法理解对数据uri的响应???
谢谢你的帮助
svg - 数据 URI 和 Graphviz
是否可以使用 Graphviz [image] 标签嵌入数据 URI 字符串?IE
simple.dot:(应该显示一个红点图像 -> 节点 B)
运行这个
这是我得到的错误
生成的图形在节点 A 中不显示图像。
你知道如何解决这个问题吗?
谢谢!
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 中却没有。
我想知道是否有人有任何建议、解决方法或想法。
谢谢你的帮助,
罗文
javascript - 保存时的javascript数据URI字符集
我在 utf-8 页面中使用这样的东西:
强制浏览器下载文本并保存。我工作正常,除了当我在 excel 中打开文件时它没有正确打开(它既不读取分隔符也不读取阿拉伯字符)。我需要“导入数据”以指定文件是 UTF-8,当我这样做时这可以正常工作...当我在记事本中打开文件并以 unicode 重新保存它时...它可以正常工作。有没有办法强制它从一开始就保存在 unicode 中?或使 csv 文件在 excel 中正确打开。
我试图将其更改为“charset=utf-16”,但没有成功。
PS:我无法更改页面字符集。
任何帮助表示赞赏。谢谢
email - 您可以将 data:uri 格式的图像发送到 GMail 吗?
我正在 Django 中制作一个网络应用程序,向用户发送图像到他们的电子邮件。
发送图像对我来说最有吸引力的方式是data:uri格式。
但是,我测试了将这封带有 data:uri 图像的电子邮件发送到我的 GMail 帐户,并且电子邮件显示,但没有图像!
我知道 Chrome 和 Firefox 都可以打开 data:uri 图像。所以这不是浏览器的问题。但我根本没有在 GMail 中看到 data:uri 图像。
GMail 不支持 data:uri 图像吗?或者可能我发错了?
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>
,但它根本不影响任何东西。
css - 如何获得旋转的线性渐变 svg 用作背景图像?
我已经看到了一些围绕这个问题的问题,所以我希望这不是多余的。理想情况下,我想要一个image/svg+xml
100% 的容器。
Colorzilla让我有了一个很好的开始data:image/svg+xml
注意:width="100%" height="100%"
我想采用这个渐变并旋转它,比如说65deg
HTML5 canvas API 为我提供了一种很好的方式来构建这个图像,然后使用.toDataURL()
PNG 来填充 IE8 和 IE7,但我想要一些可扩展的 IE9 .
所以目标是复制这个:
具有image/svg+xml
100% 的宽度和高度。
我确实尝试了http://svg-edit.googlecode.com,但对于我想要做的编辑类型,界面不太直观。谢谢!
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 中工作的组合。
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,"
会更好?
javascript - 将 HTML 转换为数据:使用 JavaScript 的文本/html 链接
这是我的 HTML:
如何使用 JavaScript 使href
我的链接属性指向来源为innerHTML
of的 base64 编码网页div#html
?
除了在 JavaScript 中,我基本上想在此处进行相同的转换(选中 base64 复选框)。