在线预览 ZIP/7Z 在线解压与目录树预览 AI 提示词 (Prompts)

这篇内容适合谁

你需要一套“上传压缩包 -> 在线看目录与关键文件 -> 只提取需要的文件下载”的轻量工具,但不想引入复杂的素材管理系统;或者你在做素材包交付/审核,需要快速确认包内结构、文件命名、是否缺文件、是否有可疑路径等。

你将得到的交付物

你把下面的 Prompt 直接丢给 AI,它会输出一份可运行的在线工具完整项目:包含清晰的文件树、关键文件完整代码、本地运行命令、生产构建命令、部署说明(Docker + Vercel/自建),以及测试用例或 QA checklist。目标是“复制即能跑、构建即能部署”。

覆盖的典型场景

1) 设计/素材团队交付 ZIP 包的结构检查(是否按约定目录分层、是否含多余大文件)。

2) 研发/运营拿到资源包后快速预览文本配置、CSV 清单、README、变更说明。

3) 客服/审核需要对上传包做基础安全校验:路径穿越、解压炸弹、重复文件名、异常编码等。

Prompt(直接复制给 AI)

你是一名资深全栈工程师+安全工程师。请从零生成一个“在线 ZIP/7Z 解压与目录树预览/文件提取”Web工具的完整可运行项目(不要生成任何图片/海报/插画/渲染图相关内容;只处理用户上传的现有压缩包内容的预览/提取)。 目标功能: 1) 用户上传 ZIP 或 7Z(最大 200MB,可配置)。 2) 解析并展示目录树(支持展开/折叠、搜索、按文件类型筛选、显示大小/修改时间)。 3) 点击文件节点: - 文本类(txt/md/json/csv/ /log)在线预览(大文件按行分页/抽样)。 - 图片/音视频只做“信息预览”(如尺寸、时长、编码参数)与可选下载;不做生成式出图。 - PDF 只做页数/元信息读取与可选下载(不做渲染出图)。 4) 支持勾选多个文件一键打包下载(重新打包为 ZIP)。 5) 安全要求: - 防 Zip Slip(路径穿越)与符号链接攻击; - 解压炸弹检测(递归层级、压缩比、总展开大小阈值); - MIME/扩展名双校验; - 解析在服务端进行(Node),前端仅上传与展示; - 全程不落盘:解压到内存或临时目录(可配置),并提供清理策略。 技术栈要求: - 前端:Next.js 14 + Type + Tailwind(或等价React栈),提供清晰的UI(目录树、预览面板、任务进度)。 - 后端:Next.js Route Handlers(或独立Express)实现上传、解析、下载。 - 解压:ZIP 用 yauzl/adm-zip/fflate 之一;7Z 用 7zip-wasm 或 node-7z(若依赖系统7z则给出替代方案)。 - 不使用数据库;必要的任务状态用内存+短期缓存即可。 交付物硬要求: A) 输出完整项目文件结构(tree)。 B) 给出每个关键文件的完整代码(可复制粘贴后直接运行/构建)。 C) 提供本地运行命令(pnpm/npm)、生产构建命令、环境变量示例。 D) 提供部署说明:Dockerfile + docker-compose(可选),以及 Vercel/自建服务器两种路径。 E) 提供测试用例或 QA checklist:至少覆盖上传边界、Zip Slip、炸弹、中文路径、超长文件名、重复文件名、预览大文件、打包下载一致性。 实现细节: - 上传采用分片或流式(至少说明为何选择)。 - 解析目录树时保留原始路径与规范化路径,并在UI中高亮可疑条目。 - 对预览接口做鉴权/限流(可以是简单的token或一次性session id)。 - 所有响应要有明确错误码与可读提示。 现在开始:先给出整体架构与接口设计,然后给出文件树与完整代码,最后给出运行/部署/测试说明。

使用建议

如果你希望工具“全程不落盘”,让 AI 选择基于流式解析 ZIP 的方案,并在 7Z 解析部分优先 wasm 方案;如果你的部署环境更偏传统服务器,也可以允许落盘到临时目录,但必须明确清理策略与阈值(展开总大小、递归层级、压缩比)。

验收与自测清单(要点版)

1) 上传:正常 ZIP/7Z、中文路径、超长文件名、重复文件名、空包;

2) 安全:Zip Slip 拦截、解压炸弹阈值触发、可疑条目提示;

3) 预览:大文本分页/抽样、JSON 语法高亮(可选)、错误提示;

4) 下载:单文件下载、多选重新打包下载、内容一致性校验;

5) 部署:本地开发、生产构建、Docker 运行、Vercel 部署至少一条路径可用。

用户评论 (0)

登录后参与讨论

立即登录 注册账号

暂无评论,快来抢沙发吧~

操作成功