自ie7
& ie8
默认情况下无法解码base64图像字符串,我正在寻找另一种方法来执行此操作。在谷歌搜索问题之后,我在http://dean.edwards.name/weblog/2005/06/base64-ie/找到了一个很好的教程。
据我所知,解码过程包括两个简短的脚本,如下所示:
一个。 php base64解码功能
在作者的指导下命名为base64.php
<?php
$data = split(";", $_SERVER["QUERY_STRING"]);
$type = $data[0];
$data = split(",", $data[1]);
header("Content-type: ".$type);
echo base64_decode($data[1]);
?>
B中。 javascript
应插入页面的head标签中,其中应嵌入base64图像字符串,并最终将图像字符串传递给base64.php
进行处理&amp;解码。
<script type="text/javascript">
// a regular expression to test for Base64 data
var BASE64_DATA = /^data:.*;base64/i;
// path to the PHP module that will decode the encoded data
var base64Path = "base64.php";
function fixBase64(img) {
// check the image source
if (BASE64_DATA.png(img.src)) {
// pass the data to the PHP routine
img.src = base64Path + "?" + img.src.slice(5);
}
};
// fix images on page load
onload = function() {
for (var i = 0; i < document.images.length; i++) {
fixBase64(document.images[i]);
}
};
</script>
遗憾的是,php base64解码功能无法将图像字符串解码为ie7
&amp; ie8
就我而言。
我的文档类型为DTD XHTML 1.0 Transitional
&amp; charset=utf-8
。
知道这里出了什么问题?
演示链接:
base64-string-without-php-decoder:http://silentpond.eu5.org/base64-string-without-php-decoder.php
base64-string-with-php-decoder:http://silentpond.eu5.org/base64-string-with-php-decoder.php
感谢,
答案 0 :(得分:2)
在IE中,至少在版本8及更早版本中。 url的最大长度约为2047字节。可以在此处找到更多信息:http://support.microsoft.com/kb/208427