cloudflare+hono使用worker实现api接口和r2文件存储和下载

步骤也很简单,就是使用命令创建一个hono创建一个基础框架,然后绑定r2对象存储,然后写上传和下载的接口,然后测试发布即可。

使用命令:

pnpm create cloudflare@latest upload-r2

然后创建后打开,绑定r2:

bucket_name 这里添加你的存储桶名称即可,没有的话,在后台页面创建一个存储桶或者使用命令行创建一个。

然后运行命令:

wrangler deploy --minify

这个主要是将绑定的存储桶R2可以在代码中使用不提示报错。

然后在index.ts中写上传逻辑:

app.post('/upload', async (c) => { const form = await c.req.parseBody() const file = form['file'] as File if (!file || !file.name) { return c.json({ error: 'No file uploaded' }, 400) } const buffer = await file.arrayBuffer() const object = await c.env.R2.put(file.name, buffer) return c.json({ object }) })

这个代码主要就是拿到post请求中的file文件,然后使用R2存储到桶里面,写完之后会返回存储后的结果,可以本地运行测试,本地启动服务后,使用postman或者apifox都可以测试:

说明没有问题,这里可以上传任意类型的文件,访问的时候也可以访问任意类型。为什么不用Express框架?因为Express框架和cf不是很兼容,在访问视频文件或者大文件的时候,和cf不兼容,访问不到。所以强烈推荐Hono这个框架,而且Hono用起来和Express差不多,甚至更方便。

然后开始写访问文件逻辑和下载逻辑:

app.get('/download/:key', async (c) => { const key = c.req.param('key') const object = await c.env.R2.get(key) if (!object) { return c.json({ error: 'File not found' }, 404) } return c.body(object.body) })

这里主要就是发送get请求访问上传的文件,在apifox中访问刚才上传的文件:完美访问

还可以查询桶里面有哪些文件:

app.get('/files', async (c) => { const objects = await c.env.R2.list() return c.json({ files: objects.objects.map((object) => object.key) }) })

就会返回文件列表:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1161231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动化流水线:图片上传即自动旋转的方案

自动化流水线:图片上传即自动旋转的方案 1. 图片旋转判断 在现代图像处理系统中,用户上传的图片往往存在方向错误的问题。这种问题主要源于数码设备(如手机、相机)拍摄时的重力感应机制——设备会记录一个EXIF方向标签&#xff…

Qwen2.5-7B企业级应用:低成本验证AI可行性

Qwen2.5-7B企业级应用:低成本验证AI可行性 在传统企业推进数字化转型的过程中,IT部门往往对新技术持谨慎态度。一个典型的场景是:业务部门提出想用AI优化客户工单处理流程,IT团队却需要三个月时间做技术评估、资源申请、安全审查…

如何实现毫秒级二维码识别?AI智能二维码工坊部署教程

如何实现毫秒级二维码识别?AI智能二维码工坊部署教程 1. 引言 1.1 学习目标 本文将带你从零开始,完整部署并深入理解一个高性能、低延迟的AI智能二维码工坊(QR Code Master)。通过本教程,你将掌握: 如何…

RexUniNLU部署优化:内存与计算资源调配指南

RexUniNLU部署优化:内存与计算资源调配指南 1. 引言 随着自然语言处理技术的不断演进,通用信息抽取模型在实际业务场景中的应用需求日益增长。RexUniNLU作为一款基于DeBERTa-v2架构构建的零样本中文通用自然语言理解模型,凭借其递归式显式图…

腾讯混元模型妙用:HY-MT1.5云端做多语言SEO

腾讯混元模型妙用:HY-MT1.5云端做多语言SEO 你是不是也遇到过这样的问题?作为独立站站长,想把产品推广到海外,却发现多语言关键词优化特别难搞。用谷歌翻译、DeepL这些通用工具吧,翻出来的话生硬又不自然,…

RexUniNLU实战:学术影响力分析

RexUniNLU实战:学术影响力分析 1. 引言 在自然语言处理(NLP)领域,信息抽取任务是理解非结构化文本的核心环节。随着大模型技术的发展,通用型多任务模型逐渐成为研究热点。RexUniNLU 是基于 DeBERTa-v2 架构构建的零样…

为什么推荐Paraformer-large?实测长音频表现优秀

为什么推荐Paraformer-large?实测长音频表现优秀 1. 背景与痛点:传统ASR在长音频场景下的局限 语音识别(Automatic Speech Recognition, ASR)技术已广泛应用于会议记录、访谈转写、教育听录等场景。然而,在处理长音频…

uniapp+动态设置顶部导航栏使用详解

在 uni-app 中,页面标题(导航栏中间显示的文字)既可以在编译期通过 pages.json 中的 navigationBarTitleText 指定,也可以在运行时通过 API 动态修改。运行时修改常用于:根据路由参数动态显示标题、异步获取数据后生成…

新手教程:如何正确安装STLink驱动并连接MCU

从零开始搞定ST-Link:新手也能一次成功的驱动安装与MCU连接实战 你是不是也遇到过这种情况?刚拿到一块STM32开发板,兴致勃勃地插上ST-Link,打开STM32CubeProgrammer,结果弹出一句“ No target found ”,…

基于Python和django的校园物品流转置换平台的设计与实现

目录摘要项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作摘要 校园物品流转置换平台基于Python和Django框架开发,旨在解决学生闲置物品利用率低的问题,促进资源循环利用。平台采用B…

LangFlow零基础教程:云端GPU免配置,1小时1块快速上手

LangFlow零基础教程:云端GPU免配置,1小时1块快速上手 你是不是也刷到过B站那些炫酷的AI项目视频?看着别人用LangFlow拖拖拽拽就做出一个能读PDF、会查资料、还能自动写报告的智能助手,心里直痒痒。可一搜教程,发现要装…

图片旋转判断模型在考勤系统图像预处理

图片旋转判断模型在考勤系统图像预处理 1. 引言:图像方向问题在考勤系统中的挑战 在现代企业考勤系统中,员工通过手机或终端设备上传人脸照片进行签到已成为常见方式。然而,用户拍摄时设备方向不一,常导致图片出现0、90、180、2…

Sonic实战教程:生成前后对比,看参数调整对视频质量的影响

Sonic实战教程:生成前后对比,看参数调整对视频质量的影响 1. 引言 随着AIGC技术的快速发展,数字人视频生成已从高成本、专业级制作走向轻量化、平民化应用。在众多口型同步(Lip-sync)方案中,Sonic作为由腾…

创客匠人:IP 的数字资产革命 ——AI 时代知识变现的核心壁垒构建

行业洞察:IP 变现的终极瓶颈,是缺乏可沉淀的数字资产在 AI 技术全面渗透的今天,多数创始人 IP 仍停留在 “内容产出 - 流量转化” 的浅层模式,陷入 “做一单赚一单” 的恶性循环。行业真相是:IP 的核心竞争力早已不是内…

创客匠人:智能体驱动的 IP 生态化运营 —— 知识变现的底层逻辑重构

行业误区:把智能体当工具,而非生态搭建的核心引擎当前,多数创始人 IP 对智能体的认知仍停留在 “提效工具” 层面:用 AI 写文案、做客服、改方案,却从未意识到 —— 智能体的终极价值是构建 IP 的生态化运营体系&#…

创客匠人:IP 的最小可行性组织 ——AI 时代 1 人撬动千万营收的底层逻辑

行业真相:IP 增长的最大枷锁,是 “组织过重” 或 “无组织”在 AI 智能体全面落地的今天,创始人 IP 的增长困境早已不是 “缺流量” 或 “缺内容”,而是组织形态的错配:要么是 “单兵作战”,一个人干十个人…

创客匠人:AI 驱动的 IP 业务重构 —— 不是环节提效,是重做一次生意

行业误区:把 AI 当工具,错失了重做生意的机会当前,90% 的创始人 IP 对 AI 的使用仍停留在 “环节提效”:用 AI 写文案、做客服、改方案,却从未意识到 ——AI 的终极价值是 “重做一次生意”。新文档的核心观点一针见血…

通义千问2.5知识检索:外部数据源接入实战

通义千问2.5知识检索:外部数据源接入实战 1. 引言 1.1 业务场景描述 在当前大模型应用快速落地的背景下,通用语言模型虽然具备强大的泛化能力,但在特定垂直领域(如企业知识库、产品文档、内部流程等)中往往缺乏精准…

创客匠人:AI 重构 IP 商业闭环 —— 从环节提效到全链路重做的变现革命

引言:IP 变现的 “闭环困境”—— 为什么单个环节提效,却难破增长瓶颈?很多创始人 IP 都有这样的困惑:用 AI 写文案、做客服,单个环节效率确实提升了,但整体营收依然停滞不前 —— 获客、转化、交付、复购各…

通义千问2.5-7B-Instruct应用开发:智能写作助手实现

通义千问2.5-7B-Instruct应用开发:智能写作助手实现 1. 引言 随着大语言模型在自然语言生成、理解与推理能力上的持续突破,基于预训练模型进行二次开发构建垂直领域应用已成为AI工程实践的重要方向。Qwen2.5 系列作为通义千问最新一代大型语言模型&…