全球主机交流论坛
标题:
[白女票系列]Cloudflare Workers 和 KV 搭建临时文件上传服务器
[打印本页]
作者:
52Fancy
时间:
2024-5-2 10:37
标题:
[白女票系列]Cloudflare Workers 和 KV 搭建临时文件上传服务器
本帖最后由 52Fancy 于 2024-5-2 11:06 编辑
export default {
async fetch(request, env) {
if (request.method == 'GET') {
try {
const code = request.url.split('/').pop();
if (code){
const value = await env.file.get(code)
if (value == null) {
return new Response("Value not found", {status: 404})
}
return new Response(value)
}else{
return new Response('Usage: curl -k -F "file=@文件" ' + request.url.slice(0, -1))
}
}catch (e){
return new Response(e.message, {status: 500})
}
}
if (request.method == 'POST') {
try {
const formData = await request.formData()
const file = formData.get('file')
if (file){
const fileName = getName()
await env.file.put(fileName, file.stream(), {expirationTtl: 300})
return new Response('"link":"' + request.url + fileName + '"' )
}else{
return new Response('Usage: curl -k -F "file=@文件" ' + request.url.slice(0, -1))
}
}catch (e){
return new Response(e.message, {status: 500})
}
}
}
}
// 生成一个唯一的文件名
function getName() {
let randomString = '';
const alphabet = 'abcdefghijklmnopqrstuvwxyz'
for (let i = 0; i < 5; i++) {
randomString += alphabet.charAt(Math.floor(Math.random() * alphabet.length))
}
return randomString + Date.now()
}
复制代码
新建Cloudflare Workers 和 Cloudflare KV
在Cloudflare Workers ->设置 ->变量 ->KV 命名空间绑定 ->添加绑定 ->变量名称填写file ->KV 命名空间选择刚才新建的KV ->部署
把index.js代码复制粘贴到Workers部署
Usage: curl -k -F "file=@文件" 你的Workers域名
复制代码
cloudflare真是个大善人,用wokres和kv来创建一个临时的文件上传服务器,虽然有限制,但是白女票还是很香的。
详情请看
https://github.com/52fancy/NetInstallAlpine
欢迎光临 全球主机交流论坛 (https://443502.xyz/)
Powered by Discuz! X3.4