我不能通过这个问题得到尽管它必须是只是一个很小的语法问题,你会看到一个javascript二进制字符串:其实,我在寻找一个刚一小段语法,除非我打算做的事情是不可能的(但我看不出为什么它不应该是不可能的......)。HTML语法未知显示包含JPEG图像
我写一个函数的图像编码为Base64编码的服务器端,因为我想许多图像保存到一个数组:
因此,使用Base64我可以下载图片作为我可以安排在普通字符串一个数组,然后把它们放到一个对象只是当我选择了正确的图像和合适的时机,而不必再次提及到服务器,使用户不必等待。
然后我做这样的事情:
第一阶段:
功能download64(IMAGEURL)// - >字符串 {//向服务器发送 'IMAGEURL' 作为base64 string var tx = DoTheJob(); // ...通过Ajax连接并下载用base64转换的图像作为无功串“TX” 回报TX }
在这个阶段,我抱着图像中的“TX”客户端的Base64字符串。 稍晚我想在所谓的“干部”的div来显示我的形象,所以我做到以下几点:
第二阶段: 我只需要调用“display64”功能来设置我的形象进入在屏幕上的 “干部” DIV-对象:
display64( “干部”,TX);使用
此功能:
function display64(destinationDiv,imgText64) //->void
{ // display 'imgText64' into destinationDiv
var oImg = "<img alt='' src='data:image/jpg;base64," + imgText64 + "'>";
var x = document.getElementById(destinationDiv);
x.innerHTML = oImg;
}
现在显示图像。不幸的是,这只适用于Firefox,因为Internet Explorer 8无法读取32Kb以上的Base64图像!而在我的企业中,我们只使用IE 8!
于是我放弃了我的base64编码器,并决定将图像作为二进制字符串,我可以管理虽然我最初曾与空字符问题获取。
现在,我在这里与包含源JPG文件的精确副本(包括我已经在服务器端,然后在客户端恢复编码零)我的二进制字符串。所以,我现在需要的是简单的功能“displayBin”,但我不能在网上找到的语法:
function displayBin(destinationDiv,imgTextBin) //->void
{ // display 'imgTextBin' into destinationDiv
var oImg = "<img alt='' src='??????? + imgTextBin + "'>"; // What's the syntax here, please?
var x = document.getElementById(destinationDiv);
x.innerHTML = oImg;
}
谁能帮助?非常感谢。
如果浏览器不支持数据url,你不能做你想做的。期间,您将不得不使用服务器端脚本(例如在php中)来生成映像,并且img元素的src应该指向服务器端脚本。但你可以将二进制代码附加到一个元素,并希望它的工作原理... – mpm 2012-04-16 14:27:12