关于 Drive and Photo Service 文件上传的常见问题,包括秒传机制、断点上传、存储用量更新延迟及上传失败排查。
问题列表:
秒传和预秒传的区别?
秒传基于整个文件的 SHA-1 哈希值判断。创建文件时,服务器计算文件完整的 SHA-1 哈希值,若与已有记录匹配,则直接完成秒传。
预秒传是针对大文件的优化方案。对大文件计算完整 SHA-1 耗时较长,预秒传会先读取文件前 1 KB 数据并计算其哈希值。如果前 1 KB 的哈希值无匹配记录,说明该文件无法秒传,流程提前终止,避免无意义的完整哈希计算。如果前 1 KB 哈希值有匹配,再继续计算完整文件的 SHA-1,确认是否可以秒传。
新上传文件后,为什么 drive 的空间没有立即更新?
PDS 以异步方式更新 drive 的存储用量。上传完成后,存储用量数据通常在 2~3 秒内刷新。
文件秒传的粒度?
秒传以文件为粒度。文件上传完成后,服务器计算并记录文件的 SHA-1 哈希值。后续上传相同哈希值的文件时,均可命中秒传。
PDS是否支持断点上传?
支持。断点上传通过分片(part)实现——将文件拆分为多个分片后上传,断点续传的最小粒度为一个分片,单个分片内部不支持断点。
常见文件上传失败的原因?
使用托管模式(hosting mode)时,上传失败通常由 CORS(跨域资源共享)规则配置不正确引起。检查OSS Bucket 的 CORS 规则,确认来源域名、请求方法和请求头均在允许列表中。
drive 存储配额已满同样会导致上传失败,此时API返回错误码
QuotaExhausted。