场景
填问卷,可以上传多张图片,可以保存草稿、提交。
sequenceDiagram
note left of app: 上传图片
app ->>server: upload,每个文件名docName都相同
server ->>app: 保存文件到服务器,给每个图片返回唯一的docId
note left of app: 提交问卷
app ->> server: 把docId作为问卷题目答案提交
note left of app: 保存草稿
app ->> server: 把docId作为问卷题目答案保存
note left of app: 【问题点】重新进入问卷加载草稿
app ->>server:download,根据docId下载
server ->>app: 返回文件
app ->>device:下载的文件保存到本地,使用docName设置保存路径
device->>app:本地文件加载到页面
app-->server:如果图片加载成功才能提交,否则报错
问题
如上图,重新加载草稿的时候会出问题。因为上传的图片命名都相同,然后下载的时候又直接用了文件名保存,所以不同图片保存在本地的同一个文件,所以有俩问题:
- 不同题目都显示相同的图片。
- 不同图片可能同时操作本地的同一个文件,出现加载/保存失败的问题。
所以在设计整个流程的时候要注意到上传时的文件命名、下载时如果本地有同名文件如何处理、多个图片同时下载并加载的顺序…等问题…