网友 Faxlok 说:
*帖最后由 Faxlok 于 2023-10-29 20:38 编辑
起因:帮人找个ppt模板,找了好久没找到免费的。看到网站也没说要收费,得登录才知道了,登进去才说要收费,很恶心人,为啥不早说,浪费时间。上一个网站也是这样,这个网站也是一个鸟样,于是js代码如下
import { randomUUID } f**m &*uot;crypto&*uot;
function reandom() {
ret**n randomUUID().subst**ng(0, 4)
}
// 文件名路径
const filename = ‘1.jpg’
const imgFile = Bun.file(filename);
// 不严谨
const ext = filename.split(‘.’)[1]
const re*uestAuth = new Re*uest(‘https://www.tukuppt.com/api/upload/si**?type=applyupload&name=’+reandom()+’&ext=’+ext+’&kid=12’)
re*uestAuth.headers.set(‘Cookie’, ‘**th_token=登录后cookie对应的字段值’)
fetch(re*uestAuth, {
}).then(d=>d.json()).then(async(d)=>{
console.log(&*uot;获取到的**th数据&*uot;, d)
const re*uestBody = new FormData()
re*uestBody.append(‘id’,&*uot;WU_FILE_&*uot; + Math.floor(Math.random() * 100));
re*uestBody.append(‘name’, reandom())
re*uestBody.append(‘type’, ‘image/jpeg’)
re*uestBody.append(‘lastModifiedDate’, new Date())
re*uestBody.append(‘size’, imgFile.size)
re*uestBody.append(‘policy’, d.policy)
re*uestBody.append(‘**tho**zation’, d.**tho**zation)
re*uestBody.append(‘file’, imgFile)
// console.log(re*uestBody)
const re*uestImg = new Re*uest(‘https://v0.api.upyun.com/tukuppt-img’,{
method: ‘post’,
body: re*uestBody
})
const reponse = (await(await fetch(re*uestImg)).json())
console.log(‘上传返回的json’,reponse)
const **l = ‘https://img.tukuppt.com/’ + reponse.**l
console.log(&*uot;图片地址:&*uot; + **l)
})
需要bun支持,也可以用node,只需要把Bun.file改成node获取文件的api就可以了。
需要登录后才能使用,获取**th_token
图片格式为jpg或png,每张大小控制在 5MB 之内
此图片如果显示异常说明代码可能失效
代码仅供学习
网友 hxc 说:
学习了