|  | 
 
| 本帖最后由 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
 | 
 |