文件传输与消息发送分开
上传先产生临时文件结果,随后才用于发送媒体等操作;不能把上传完成当作消息已发送。分片大小、对齐、并行和大文件方法均有约束,最大分片数量还可能来自客户端配置。大于 10 MB 的文件使用大文件上传流程,具体参数见官方文件文档。
临时上传结果不是永久存储承诺;重启后不能只凭旧的上传标识假定文件仍可引用。
file_reference 需要保留来源
file_reference 是可过期的引用数据,不等于文件 ID。重新获取时需要知道文件来自哪条消息或其他来源。保存来源上下文比只保存一串字节更重要;照片、文档以及不同 API 表示之间也不能随意混用。
实现与排查建议
为上传、发消息、下载和本地落盘分别记录状态。未知发送结果先核验;文件引用过期则刷新来源,避免盲目重新上传大文件。对用户内容设置访问控制、容量配额和清理策略,进度条应反映实际传输而非固定倒计时。