立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 15|回复: 0

[白女票系列]Cloudflare Workers 和 KV 搭建临时文件上传服务器

[复制链接]

[白女票系列]Cloudflare Workers 和 KV 搭建临时文件上传服务器

[复制链接]

49

主题

305

回帖

1195

积分

金牌会员

积分
1195
52Fancy

49

主题

305

回帖

1195

积分

金牌会员

积分
1195
2024-5-2 10:37:46 | 显示全部楼层 |阅读模式
本帖最后由 52Fancy 于 2024-5-2 11:06 编辑
[ol]
  • 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 复制代码
    新建Cloudflare Workers 和 Cloudflare KV
    在Cloudflare Workers ->设置 ->变量 ->KV 命名空间绑定 ->添加绑定 ->变量名称填写file ->KV 命名空间选择刚才新建的KV ->部署
    把index.js代码复制粘贴到Workers部署
    [ol]
  • Usage: curl -k -F "file=@文件" 你的Workers域名[/ol]复制代码
    cloudflare真是个大善人,用wokres和kv来创建一个临时的文件上传服务器,虽然有限制,但是白女票还是很香的。
    详情请看
    https://github.com/52fancy/NetInstallAlpine
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-12-22 23:02 , Processed in 0.012584 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表