我正在尝试使用 XMLHttpRequest 从共享点库中获取图像。但是在转换一个奇怪的字符串时失败了
����JFIFS���E������..
返回图像。
我设法获得了我的共享点文件的 URL,当我把它放在浏览器中时,它会自动下载图像。我还获得了 accessToken 以获得对文件的权限。
我尝试使用外部脚本中的 base64 编码器来转换 responseText,但无法显示为图像。顺便说一句,window.atob()
orwindow.btoa()
似乎对我的 responseText 没有任何作用。
我不确定我从要处理的 responseText 收到什么样的格式。因为我尝试手动将图像转换为base64进行测试,这样开始
/9j/4AAQSkZJRgABAQAAAQABAAD/2wB..
. 但是,我使用我在网上找到的 base64encoder 得到的字符串是这样开始的
/f39/QAQSkZJRgABAQAAAQABAAD9/QBDAAs..
<div><img id="imgplaceholder" alt="place here"/></div>
<script>
var url =...;
var accessToken = ...;
var xhr = new XMLHttpRequest();
xhr.open("GET",url,true);
xhr.setRequestHeader("Accept","application/json; odata=verbose");
xhr.setRequestHeader("Authorization", "Bearer " + accessToken);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
var data = xhr.responseText;
//or var data = base64Encode(data);
document.getElementById("imgplaceholder").src = "data:image/jpeg;base64," + data;
}else{
alert(xhr.status + ":\n " + xhr.responseText);
}
}
</script>
我希望图像显示在 中,但没有任何反应。我也尝试过使用ajax,但注意到工作。请问有人可以帮我吗?