讲师中心 微信公众号
AI工具推荐 视频效率加速

Codex怎么校验上传文件的类型和大小

大丽大大_6370

大丽大大_6370

发布时间:2026-10-15 13:27:48

|

478人浏览过

|

来源于php中文网

原创

Codex中文件校验需前后端协同:前端用accept/max或JS检查类型大小作提示,后端用multer的fileFilter、limits及file-type/busboy深度校验真实类型与大小。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

codex怎么校验上传文件的类型和大小

在Codex中校验上传文件的类型和大小,是为了防止用户上传恶意文件或超大文件导致服务异常。必须在前端和后端同时设防,仅靠前端拦截可被绕过,后端校验才是最终防线。

前端校验:限制选择阶段的文件类型与大小

方法一:使用HTML input 的 accept 和 max 限制

在 <input type="file"> 标签中添加 accept="image/png,image/jpeg" 指定允许的 MIME 类型,再添加 onchange="checkFileSize(this)" 绑定校验函数。

方法二:JavaScript 手动读取文件对象校验

在事件监听中获取 event.target.files[0],用 file.type 匹配白名单(如 file.type === 'image/jpeg'),再用 file.size > 5 * 1024 * 1024 判断是否超 5MB。注意:file.type 可被伪造,仅作辅助提示,【不能替代后端校验】。

后端校验:以 Node.js + Express 为例

第一步:启用 multer 中间件并配置基础选项

安装 multer 后,在路由前初始化: const upload = multer({ storage: memoryStorage }),storage 必须设为 memoryStorage 或 diskStorage,否则无法读取文件头信息。

第二步:编写自定义 fileFilter 函数

Codex Imagen
Codex Imagen

通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存

下载

在 multer 配置中传入 fileFilter: (req, file, cb) => { ... },在里面检查 file.mimetype 是否在预设白名单内(如 ['image/jpeg', 'image/png']),不是则调用 cb(null, false) 并返回错误响应;是则继续。

第三步:限制单个文件大小

在 multer 配置中设置 limits: { fileSize: 5 * 1024 * 1024 },单位是字节。超出时 multer 会自动拒绝并抛出 MulterError: LIMIT_FILE_SIZE,需用 try-catch 或全局错误中间件捕获并返回 413 状态码。

深度校验:验证文件真实类型(防扩展名/Content-Type 伪造)

方法一:使用 file-type 库读取文件魔数

在 fileFilter 内部,用 file.buffer(需配置 storage: memoryStorage)调用 fileType.fromBuffer(file.buffer) 获取真实 MIME 类型。若结果为 null 或类型不匹配,立即拒绝。

方法二:用 busboy 手动解析 multipart 流(适用于大文件场景)

跳过 multer,改用 busboy 监听 'file' 事件,在回调中对流式数据截取前 4–8 字节,比对 JPEG(FF D8 FF)、PNG(89 50 4E 47)等魔数。这一步必须在内存中完成,不能等整个文件写入磁盘后再校验。

热门AI工具

更多
超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

相关专题

更多
Codex AI 编程代理与智能开发工作流
Codex AI 编程代理与智能开发工作流

Codex 是一款超越传统代码生成的 AI 编程代理,致力于构建全生命周期的智能开发工作流。通过持久线程保留上下文,支持多智能体并行协作与后台自动化运维。借助沙箱权限控制、Plan/Steer 任务管理机制,Codex 既能自主拆解并执行复杂工程任务,又能让开发者牢牢掌控项目进程。从需求分析、编码测试到代码审查与部署,Codex 将 AI 深度融入研发全链路,极大提升了软件工程的交付效率与质量标准。

534

2026.05.26

Codex API集成与AI编程生态开发
Codex API集成与AI编程生态开发

Codex API 集成是构建下一代 AI 编程生态的核心基石,能通过 API 将强大的代码生成与推理能力无缝接入 VS Code、JetBrains 等主流 IDE 插件,还能将其深度嵌入 CI/CD 流水线,实现自动化的代码审查、单元测试生成与 Bug 修复。结合 Amazon Bedrock 等云平台的托管服务,企业可以灵活打造符合内部安全规范的专属 AI 编程助手。

224

2026.05.26

Codex 模型原理与AI软件工程进阶
Codex 模型原理与AI软件工程进阶

Codex 是基于通用大模型底座,通过海量代码语料与真实 Pull Request 进行专项微调的代码专用模型,能深度理解代码语法树与跨文件依赖,实现从自然语言到高质量工程代码的精准转化。在 AI 软件工程进阶中,Codex 推动了从提示词工程向“驾驭工程(Harness Engineering)”的范式跃迁。

177

2026.05.26

Codex AI编程工具新手指南
Codex AI编程工具新手指南

全面解析Codex AI编程工具的核心原理、功能特点与实际用途,提供适合新手的Codex入门教程、环境配置方法、代码生成演示与常见问题解答,帮助开发者快速掌握AI自动写代码能力,提升编程学习与开发效率。

390

2026.05.27

Codex Agent编程与自主开发能力调优专题
Codex Agent编程与自主开发能力调优专题

PHP中文网为您提供Codex Agent编程与自主开发能力调优专题。针对AI Agent全权委托开发模式,我们为您系统梳理了Harness Engineering(驾驭工程)核心理念,以及涵盖AGENTS.md规范编写、Skills技能配置、Worktree沙盒隔离与多Agent协作架构的实战指南。

228

2026.06.10

剧云AI短剧创作教程合集
剧云AI短剧创作教程合集

本专题聚焦剧云AI短剧创作,讲解从短剧灵感、梗概、全局大纲到分集、分场和正文的完整流程及节奏设计方法。

0

2026.10.14

剧云AI剧本创作零基础入门
剧云AI剧本创作零基础入门

本专题系统讲解剧云AI剧本创作流程,涵盖灵感、梗概、大纲、分场与正文生成,帮助新手快速完成首个中文剧本项目。

0

2026.10.14

VibeKnow文档转视频操作指南
VibeKnow文档转视频操作指南

本专题讲解VibeKnow上传Word、TXT、Markdown等材料生成视频的方法,覆盖内容解析、脚本组织、画面生成与成片检查。

0

2026.10.14

VibeKnow知识视频制作与导出详解
VibeKnow知识视频制作与导出详解

本专题整理VibeKnow从注册、素材上传、AI生成到预览导出的完整操作,帮助新手快速制作第一条知识讲解视频。

0

2026.10.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Codex 应用程序简介
Codex 应用程序简介

共0课时 | 167人学习

Codex官方文档
Codex官方文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn