我正在运行一个 Rails 应用程序,它为 android 和 ios 设备提供 zip 文件。这些 zip 文件存储在 S3 中,大小在 10MB 和 50MB 之间。
挑战在于,有时当用户从 Android 下载 zip 文件时,下载会在两次下载之间停止。所以,我需要检查文件的校验和。
现在,我正在计算校验和
Digest::MD5.file(open "https://s3path").hexdigest
并将其添加到我的标题中
headers['Content-MD5'] = checksum
但这效率不高,因为 open 首先下载文件并计算它。有没有更好的解决方案?