javascript使用fetch上传下载文件操作

//下载并上传文件
// 参数 下载url、上传url、文件名称、文件类型
try {
var res = await fetch(downloadUrl, {
method: ‘GET’
});
var blob = await res.blob();
var newBlob = new Blob([blob]);
var formData = new FormData();
formData.append(“file”, new File([newBlob], ‘test.png’, {type: ‘image/png’}));
var resp = await fetch(uploadUrl, {
“body”: formData,
“method”: “POST”
});
console.log(resp);
}catch(error){
console.log(error);
}

//下载保存为文件
// 参数 下载url、文件名称
try {
const res = await fetch(url, {
method: ‘GET’,
“headers”: {
“accept”: “image/avif,image/webp,image/apng,image/svg+xml,image/,/*;q=0.8”,
“accept-language”: “zh-CN,zh;q=0.9”,
“cache-control”: “no-cache”,
“pragma”: “no-cache”
}
});
const blob = await res.blob();
const newBlob = new Blob([blob]);
const newUrl = window.URL.createObjectURL(newBlob);
const link = document.createElement(‘a’);
link.href = newUrl;
link.setAttribute(‘download’, ‘filename.png’);
document.body.appendChild(link);
link.click();
link.parentNode.removeChild(link);
window.URL.revokeObjectURL(newBlob);
}catch(error) {
console.log(error);
}

#下载返回文件
// 参数 下载url、文件名称、文件URL
try {
const res = await fetch(url, {
method: ‘GET’,
“headers”: {
“accept”: “image/avif,image/webp,image/apng,image/svg+xml,image/,/*;q=0.8”,
“accept-language”: “zh-CN,zh;q=0.9”,
“cache-control”: “no-cache”,
“pragma”: “no-cache”
}
});
const blob = await res.blob();
const newBlob = new Blob([blob]);
return new File([newBlob], ‘test.png’, {type: ‘image/png’});ss
}catch(error) {
console.log(error);
}

备注fetch兼容性:https://www.cnblogs.com/lhyxq/p/9779076.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值