首先动态创建一个input上传的按钮(在console控制台中)
然后动态创建一个ajax请求 在请求中创建一个formData对象进行文件上传处理
里面的上传地址 可以自己点击掘金的上传按钮在network看得到
创建按钮
const input = document.createElement("input");
input.type = "file";
input.style = "position: fixed; left: 0; top: 0; z-index: 999;";
document.body.prepend(input);
发送请求
(function() {
const formdata = new FormData();
formdata.append("aid", "你的appid");
formdata.append("avatar", input.files[0]);
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText);
const url = JSON.parse(xhr.responseText).data.web_uri;
const formdata = new FormData();
formdata.append("aid", "你的appid");
formdata.append("avatar", url);
const xhr2 = new XMLHttpRequest();
xhr2.onreadystatechange = function() {
if (xhr2.readyState == 4 && xhr2.status == 200) {
location.reload();
}
};
xhr2.open("POST", "https://juejin.cn/user/update/user_info/");
xhr2.send(formdata);
}
};
xhr.open("POST", "https://juejin.cn/user/update/upload_avatar/");
xhr.send(formdata);
})();