跳到正文

2026-09-30 · WekeyLab AI · 策划工作档案

上传已经100%,为什么提交时还没有附件?

文件已经传到100%,提交时却提示没有附件。我会先确认什么才算完成,再改进度条。用一个虚构工作坊提案,把传输、检查、替换和提交拆开,最后形成可交给开发与QA的说明。

先问清楚,哪里才算完成

一开始可能觉得加个进度条就能解释等待。但如果看到100%的人提交后发现没有文件,问题就在于他认定完成的时点。需要先检查选择文件、发送字节、服务器确认接收和检查通过,是不是都用了同一个“完成”。

本例要求工作坊提案上传一个不超过10MB的PDF,不收空文件或加密文件。这里10MB明确为10,000,000字节,其他提案信息仍留在表单中。这些是独立设置的示例条件。真实服务还要先说明为什么必须上传PDF:审核者是否需要保留原文档形式,是否重复要求了已经填写的内容。把必要性写进需求文档,而不只写上传按钮。

同一个文件,对照界面与服务器结果

只记录“偶尔附件失败”,接手的人还得从头问。把选择时刻、100%出现时刻、接收确认和检查结果放在同一条时间线上。使用新建测试文件,把界面文件名与服务器给附件的标识对应起来,才能区分名字相同但内容不同的两份文档。

GOV.UK用于确认上传必要性和具体错误提示,OWASP则支持服务器内容及权限检查,不能只相信扩展名或浏览器给出的类型。由此修改最初方案:完成文字应当跟随服务器确认当前文件可用,而不是跟随进度条到终点。这里改变的不只是一句话,还包括提交按钮和验收条件。

附件缺失调查表

实际调查时,把同一尝试的界面、响应时间和结果关联保存。

附件缺失调查表
顺序界面证据与开发核对
选择文件名称、大小、选择时间选择与上传尝试的关联
到达100%是否误显示完成服务器接收是否确认
服务器检查待检查、拒绝、未知的区别检查状态和附件标识
提交前当前显示的附件实际关联到提案的文件

确定完成标准,再决定文案与按钮

一选择文件就显示名称没有问题,但不能让这个列表看起来全是已完成附件。第一个方案是在100%时开放提交,看起来快,却可能还没有确认接收或检查。第二个方案把传输与检查分开,等服务器确认后才允许提交。本例选择第二个。

也可以直到最后才显示文件,但失败后就更难知道要替换哪一份。因此保留早期文件名并标注状态。若服务器尚不支持检查,不要先上线一个假装已经检查完成的界面;应当和开发确认真实能力,缩小本次范围。需求文档保留选择原因,设计说明明确哪些响应条件才算完成。

完成显示方案

看见文件名,与能够提交,是两个判断。

完成显示方案
方案遗留问题本例决定
选择文件即完成可能尚未传输不采用
100%即完成接收和检查可能仍未知仅作为进度
服务器确认后完成需要等待、拒绝和未知状态采用

正在检查,与不知道结果,是两回事

100%时若不知道服务器是否收到,就显示“正在确认传输”。已确认收到但检查未完成,则是“正在检查文件”。两者都不能提交,但应查的地方不同。文件太大需要减小或更换;检查服务没有响应,不能直接说文件本身有问题。

完成响应也必须属于当前选择和上传尝试。服务器附件标识、提案关联和检查通过都确认后,才显示附件完成。同一尝试中迟到的旧检查中响应,也不能把较新的完成状态回退,因此还要比较服务器状态版本。这样,设计条件能够对应到开发需要保证的数据,以及QA可以调换的响应顺序。

状态、文案与下一步

文案用于这个虚构接收页面,其他提案输入保持。

状态、文案与下一步
已确认状态界面文案下一步
没有文件请附上一个PDF选择文件,不能提交
传输中正在传输 · 进度等待或移除
100%,接收未知正在确认传输查询同一尝试,不能提交
已接收,等待检查正在检查文件等待或更换
文件被拒绝例如:请选择不超过10MB的PDF按原因修改或更换
检查结果未知暂时无法确认检查结果查询结果,不断言文件有缺陷
当前文件检查通过附件完成 · 文件名其他必填条件也满足后可提交

已经移除的文件,不能被迟到响应加回来

检查时移除文件,之后成功响应回来又把它放进列表,就等于撤销了用户的操作。应让删除和替换使旧选择失效。仅取消文件选择窗口时保留原状态;真正选了新文件才排除旧附件。新文件不合格,也不能偷偷恢复旧文件。

同名文件可能内容已变,因此新选择需要新版本和新尝试,服务器也要排除旧选择。中止传输请求并不证明已接收的服务器字节已经删除。界面移除、传输中止和临时文件清理应分别记录。临时文件寿命需要按实际运营规则另行确认,只能在有证据的范围内说明删除完成。

迟到结果可以生效吗?

每次响应到达时判断。忽略旧响应后,当前文件仍继续处理。

迟到结果可以生效吗?每次响应到达时判断。忽略旧响应后,当前文件仍继续处理。是当前选择与尝试的最新结果吗?是用该结果更新当前状态否忽略旧结果,保留当前选择说明当前状态及下一步
阅读流程
  1. 是当前选择与尝试的最新结果吗?
    • 是: 用该结果更新当前状态 → 说明当前状态及下一步
    • 否: 忽略旧结果,保留当前选择 → 说明当前状态及下一步

重传和提交,也用同样的判断标准

连接断开不等于服务器没有收到。先查原上传尝试,仍在处理就不创建新传输。确认失败或未收到后,才考虑重传;同一内容和同一尝试如何避免重复,要让开发确认。如果没有这项约定,就提供结果查询和明确的新文件选择,不自动重传。

提交服务器也不能只相信界面上的“附件完成”。需要在受理时一致地复查当前归属、提案关联、选择版本和检查通过。受理中不允许改附件,响应丢失时查同一个受理标识。受理后的附件与编辑中的选择分开,本例不提供受理后替换;如有需求,应另行设计修改流程。

这些情况应该显示什么?

固定设计示例,不上传真实文件,也不提交申请。

打开示例
正在确认传输

接收和检查通过尚未确认,不能只凭进度允许提交。

让AI检查交错顺序,而不只是成功页面

只说“写个文件上传设计”,可能得到按钮和错误文案,却漏掉核心问题:响应顺序变了,提交的还是正确文件吗?先提供虚构条件、完成标准和删除、替换规则,再要求列出起始状态和迟到响应,才容易逐项检查遗漏。

如果回答允许100%后提交,就不能整段直接采用。要求分开接收未知与等待检查,再补上删除后成功的顺序。只按文件名关联的建议,也要改成选择版本与服务器附件标识。实际服务器是否支持仍交给开发确认,修正后的条件同时进入文案和QA。这里的指令是可复用示例,不是已经执行过的AI交流。

附件条件检查提问示例

先输入确定的条件,再改变响应顺序寻找遗漏。

示例提问,并非已执行的AI对话:
请检查虚构工作坊提案的必填PDF附件。只收一个PDF,允许1到10,000,000字节,拒绝空文件和加密文件,还要通过服务器内容检查。
传输100%不等于附件完成。服务器接收未知时显示正在确认传输;确认接收但检查未结束时显示正在检查文件。完成需要当前选择与上传尝试匹配、服务器附件标识、提案关联及检查通过。
实际选择新文件会排除旧附件;仅取消文件选择窗口则保持原样。删除或替换后的旧响应不能生效。同名不代表同一内容。
结果未知不能视为确定失败,先查询原上传尝试。重传同一内容和尝试前,确认服务器的去重规则。提交时再次检查归属、提案关联、当前版本和检查结果。
按起始状态、操作、迟到响应、界面文案、能否提交列出顺序。未定义的服务器能力写成待确认。
修改指示示例:如果100%就允许提交,请改正。补上检查时删除、同名替换后旧成功返回的顺序。保留其他提案输入,并在QA中写出实际提交哪个附件。

QA不能只上传一次小文件

检查大小边界、空文件、迟到响应和同名替换。对照预期附件标识与实际受理的标识,才能发现名字正确却提交了旧内容的问题。延迟、断线和旧响应应在可控测试环境重现并留下真实结果,不能只看正常网络下的截图。

参考W3C状态消息说明,用文字表达传输、检查和完成,不无故移动焦点。还要确认键盘选文件及错误后的返回路径。下表是预期结果;文章资料可操作,不等于真实受理服务器、文件检查和辅助技术已经通过集成验收,两者应分别记录。

附件功能验收顺序

执行后补充环境、版本、负责人、实际结果和证据。

附件功能验收顺序
顺序预期结果证据
文件大小边界:1 / 10,000,000字节大小允许,仍须内容检查服务器边界判定
0 / 10,000,001字节拒绝,不能完成或提交大小及错误提示
其他内容改成PDF扩展名根据服务器内容检查拒绝检查结果与界面
选择加密PDF提示更换未加密文件拒绝原因
100%,接收响应延迟确认中,不能提交界面与没有受理请求
接收后检查服务故障等待确认,不断言文件缺陷故障与提示
检查时移除→迟到通过保持没有附件选择版本及实际受理目标
同名替换→旧成功仅新文件等待或完成新附件标识
完成后旧检查中响应不回退已完成状态服务器状态版本
结果未知后重试查原尝试,防止重复尝试处理记录
提交时权限改变/重复点击拒绝或返回同一受理结果权限检查和受理标识
受理中替换、键盘、窄屏阻止理由、焦点、状态可理解界面和实际文件关联

需求文档留原因,设计说明留变化条件

需求文档记录为什么要PDF、要解决的问题,以及选择服务器确认为完成标准的理由。设计说明再展开状态、文案、操作和例外。不只列页面编号,而要写清“检查中删除后,迟到响应不恢复附件”,接手的人才能沿着已经确定的判断继续。

开发确认检查、权限、去重、并发和临时文件寿命;QA对照界面顺序与实际附件;运营需要可追溯状态,不能把未知结果说成失败。发布后分别看拒绝原因、结果未知时离开、附件关联错误等情况,不把文件内容写入统计事件。数量降低本身不能证明改善,先核对附件缺失是否真正解决。

必填PDF附件交接说明

补上实际服务条件和负责人确认,再连接设计说明及QA。

必填PDF附件交接说明——虚构工作坊提案
目的:只有当前选中且服务器检查通过的文件进入提交。选择、传输、检查和提案受理分开处理。
输入:一个PDF,允许1~10,000,000字节,含上下限。界面显示不超过10MB,此处10MB为10,000,000字节。空文件、加密文件和检查未通过的文件不能完成。浏览器限制是提示,服务器仍须验证。
选择:取消选择窗口保留原附件。实际选择新文件则排除原附件并更新选择版本。新文件不合格也不自动恢复旧文件,其他表单输入保持。
状态:未选择→传输中→确认接收→文件检查中→当前附件可用。100%时接收未知显示正在确认传输;确认接收但检查待定显示正在检查文件,两者均不能提交。
完成:当前选择和上传尝试一致,服务器附件标识、提案关联、检查通过均已确认。比较服务器状态版本,防止旧的检查中响应把完成状态回退。
拒绝:类型、大小、空文件、加密、检查未通过分别提供修改方法。检查服务故障不代表文件有缺陷;保持未批准并提供状态查询或恢复路径。
删除/替换:立即使旧响应和本地可用状态失效,服务器也废弃或排除原选择。迟到成功不能恢复已删除附件。界面移除、中止传输、服务器临时文件删除是不同结果。
同名:替换也是新版本和新尝试,通过服务器附件标识关联,不仅按文件名覆盖。
未知:先查原尝试;正在处理时不重传。确认失败或未收到后,只有开发确认同一内容、同一尝试的去重及状态规则才提供重传。更换文件属于新尝试。没有该能力时提供状态查询和明确重新选择,不自动重传。
提交:必填附件未准备好时解释原因并阻止提交。服务器在受理时一致地复查归属、提案关联、选择版本和检查通过。受理中不能改附件;结果未知时查同一提案受理标识,不能重复申请。
受理后:已受理附件独立于编辑中的选择。本例不提供受理后替换。临时过期、正式保留和删除时点需要按实际服务另行确认。
无障碍:保留原生文件输入和键盘操作。进度与状态用文字提示,不无故移动焦点。错误后的说明和文件输入仍可访问。
文档/职责:需求文档保留附件必要性、完成标准和方案选择;设计说明保留状态、文案、版本、请求/响应和例外。开发确认内容检查、权限、并发、去重和临时文件寿命;QA核对操作顺序与实际附件标识;运营需要可追溯状态及处理说明。
验收:执行大小边界、100%、拒绝、检查故障、同名替换、删除后迟到成功、旧状态响应、结果未知、权限变化、受理中修改及重复操作。记录环境、版本、负责人、预期/实际和证据。本文不是实际服务器已通过集成验收的记录。

下载开发与QA交接说明

来源与示例条件

根据2026年9月30日核实的GOV.UK、OWASP、W3C公开文档制作的独立虚构案例。一个PDF、10MB、完成与替换规则均为本例设计选择。由WekeyLab AI编写,不使用公司资料,不虚构个人经历或成果。AI提问为未执行示例,英文及中文均是同一韩语案例的本地化。文章资料界面检查与真实接收系统集成验收分开。

GOV.UK Design System — File upload

OWASP — File Upload Cheat Sheet

W3C — Understanding WCAG 2.2, Status Messages