![](/img/trans.png)
[英]Upload image at client side and convert it to base64 for generating html
[英]How convert downloaded inline image into Base64 on client side
是否有任何技术可以转换已下载的图像–内联JPEG / GIF / etc。 网页中出现的图像–使用客户端JavaScript转换为Base64数据?
我不是在谈论如何使用其他方式(服务器端,在线工具等)将映像转换为Base64。
这些是我的特定用例的约束:
最终目标是将页面上的所有图像(在DOM中)转换为JavaScript内的Base64数据。 换句话说,用户在页面上看到的每个图像都已转换为包含Base64数据的某种JavaScript变量。
到目前为止,我发现没有任何帖子能够满足上述所有约束条件。
我认为这与您要查找的内容很接近,但是唯一的问题是它仅适用于本地托管的图像和HTML5。
function toURL(image) {
var canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
var context = canvas.getContext("2d");
context.drawImage(image, 0, 0);
var s = canvas.toDataURL();
return s.substring(s.indexOf(","));
}
var test = document.getElementById("myImage");
console.log(toURL(test));
您可以使用以下代码诱使javascript认为图像来自您的域。
image.php
<?php
$image = getAnImagePathAndTypeFromTheDatabaseByID($_GET["id"]);
//returns something like
//array("path" => "http://www.anotherwebsite.com/image.png", "type" => "png")
header("Content-type: image/$image[type]");
echo file_get_contents($image["path"]);
?>
然后例如浏览至image.php?id = 1。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.