Ajax获取网页文件

wozhaozhe2008 2021-01-11 10:24:42
function getBase64(imgUrl) {
window.URL = window.URL || window.webkitURL;
var xhr = new XMLHttpRequest();
xhr.open("get", imgUrl, true);
// 至关重要
xhr.responseType = "blob";
xhr.onload = function () {
if (this.status == 200) {
//得到一个blob对象
var blob = this.response;
// console.log("blob", blob);
// 至关重要
let oFileReader = new FileReader();
oFileReader.onloadend = function (e) {
// 此处拿到的已经是 base64的图片了
let base64 = e.target.result;
base64 = "<p id=''Base64Text''>"+base64+"</p>";
document.getElementsByTagName("body")[0].innerHTML = base64;
return base64;
};
oFileReader.readAsDataURL(blob);
}
}
xhr.send();
}

我在网络上找到一个这样的JS代码,可以得到网络文件的base64,一开始可以的,可后来不知道网站开发人员做了什么限制,获取不到了,有什么办法可以突破吗?
...全文
6379 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
来个大佬回答下
回复
引用 4 楼 liwx66 的回复:
没怎么试过……不过通过src请求或者使用iframe,也即绕过ajax方式来做?
我是想弄成自动下载,那样的话就需要人去点保存了。
回复
liwx66 01-12
没怎么试过……不过通过src请求或者使用iframe,也即绕过ajax方式来做?
回复
引用 1 楼 chenrynet 的回复:
应该设置了禁止跨域请求 那没辙了
那有其他什么办法用js下载网络文件吗,只要得到就行,不管是 二进制还是base64
回复
chenrynet 01-11
应该设置了禁止跨域请求 那没辙了
回复
相关推荐
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2021-01-11 10:24
社区公告
暂无公告