需求:主要是想自动化的根据图片url上传一张全新的图片到我们的服务器
正常手动操作,就是需要把这个图片根据url 下载下来
然后去手动的上传 然后上传成功。
但是如果让脚本去执行这个操作呢?
第一步:
先把图片的url转为blob文件
关键代码: let imgFile = new File([blob], imageName, { type: "image/jpeg" });
// 选择默认图片
function chooseStaticImg(imageUrl) {
getImageFileFromUrl(imageUrl, "图片.png", function (file) {
// file = file; //获取file对象
console.log(file);
});
}
// 根据路径返回file
function getImageFileFromUrl(url, imageName, callback) {
fetch(url)
.then((res) => {
return res.blob();
})
.then((blob) => {
let imgFile = new File([blob], imageName, { type: "image/jpeg" });
callback(imgFile);
});
}
chooseStaticImg("http://biaoblog.run:3000/uploads/1615366772320.png");
第二步:
把已经转成功的文件 上传到我们的服务器就完事了
// 上传到我们自己的服务器
function uploadFile(file) {
var formData = new FormData();
formData.append("file", file);
console.log(formData.get("file"));
fetch("http://localhost:3000/blogData/upload", {
method: "POST",
body: formData,
// headers: {
// //不需要写'Content-Type': 'multipart/form-data',自动是form -data 写了报错!离谱!
// 'Content-Type': 'multipart/form-data',
// },
})
.then((res) => {
return res.json();
})
.then((res) => {
console.log(res);
});
}