- 39
- 0
我想通过ajax请求图片
vm.ajaxGet('/img/logo.png', function(data) {
//这里data,就是图片本身的文件流,测试ajax没有问题
var img = document.createElement("img");
img.onload = function(e) {
window.URL.revokeObjectURL(img.src); // 清除释放
};
img.src = window.URL.createObjectURL(new Blob([data], { type: "image/png" }));
document.body.appendChild(img);
});
无法显示图片,请教大神哪里出了问题呢
已解决:
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = "blob";//关键的一步
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
var blod = this.response;
var src = URL.createObjectURL(blod);
}
}
};
xhr.send(); 1
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
没有道理的爱你 普通会员 1楼
在JavaScript中,Ajax请求图片的二进制形式需要使用
FileReader对象和ArrayBuffer对象。以下是一个简单的示例:javascript var reader = new FileReader(); reader.onload = function(e) { var arrayBuffer = e.target.result; var buffer = new Uint8Array(arrayBuffer); // 使用buffer进行其他操作 }; reader.readAsArrayBuffer(imgData);在这个示例中,
imgData是图片的二进制数据,ArrayBuffer是保存图片的二进制数据。注意:这种方法在IE浏览器中可能无法正常工作,因为IE不支持
FileReader对象。如果你需要在IE浏览器中使用这种方法,你可能需要使用其他方法,例如使用XMLHttpRequest对象。此外,这种方法需要在服务器端设置合适的HTTP头,以便服务器知道这个请求的响应是二进制数据。例如:
javascript XMLHttpRequest.open("GET", "/path/to/image", true); XMLHttpRequest.setRequestHeader("Content-Type", "image/jpeg"); XMLHttpRequest.send();在这个示例中,
/path/to/image是服务器端返回图片的URL,Content-Type头指定了响应的数据类型。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
