问题说明了一切:如何将远程托管的图像转换为字符串。我稍后会使用XMLHTTPPost
上传内容。对于那些没有阅读标记行的人来说,这是javascript
个问题。
@Madmartigan:脚本本身以相当奇怪的方式执行:用户使用javascript:
从remove主机附加脚本。 (这样可以访问用户cookie会话,我们需要继续)这会生成表单,使用户能够设置一些文本。 (这很容易)当用户点击upload
时,脚本必须获取托管在远程主机上的图像。我试图从远程主机获取图像作为字符串,然后使用类似下面的函数将其转换为二进制。那么,我该怎么做?
function toBin(str){
var st,i,j,d;
var arr = [];
var len = str.length;
for (i = 1; i<=len; i++){
//reverse so its like a stack
d = str.charCodeAt(len-i);
for (j = 0; j < 8; j++) {
st = d%2 == '0' ? "class='zero'" : ""
arr.push(d%2);
d = Math.floor(d/2);
}
}
//reverse all bits again.
return arr.reverse().join("");
}
我应该提一下,我找到了类似的东西:
var reader = new FileReader();
reader.onload = function() {
previewImage.src = reader.result;
}
reader.readAsDataURL(myFile);
但是,它们非常依赖浏览器,因此不太有用。
我正在尝试避免使用base64,因为大小会增加冗余。
答案 0 :(得分:1)