如果上传的文件已存在,如何覆盖文件
philos3 opened this issue · 8 comments
如果上传的文件已存在,如何覆盖文件
存在需要多次上传覆盖的场景,如果每次都是用新的key,将是一种资源浪费
key 如果不设置是后端返回给你的,如果你上传了相同的文件(hash),则似乎会返回给你相同的 key @yinxulai 确认下吧
key是本地传的,文件肯定hash不一样的,因为会一直增量写入log,整个文件的hash值也会变化。
上传报错,提示文件已存在,期望的是直接覆盖,因为key一样的,理应覆盖。
报错信息如下:
StorageStatus.Error
error.type =StorageErrorType.RESPONSE
error.message={error: file exists}
Http status error [614]
flutter SDK支持吗?PutOptions只有下面参数,如何设置,详细的flutter文档没找打,example也没有体现,麻烦告知如何,最好能提供示例代码。
class PutOptions {
/// 资源名,如果不传则后端自动生成
final String key;
/// 强制使用直传,不使用分片
final bool forceBySingle;
/// 使用分片上传时的分片大小,默认值 4,单位为 MB
final int partSize;
/// 并发上传的队列长度,默认值为 5
final int maxPartsRequestNumber;
/// 控制器
final PutController controller;
}
上传对象本身的写行为设定是通过 putPolicy
来控制的,putPolicy
包含在你的 uploadToken
中, flutter-sdk
作为客户端 SDK
,暂时没有直接支持生成 token 的能力,只是消费 uploadToken
,所以你需要调整你生成 uploadToken
的参数来达到覆盖的目的
最终意思是需要服务端解决吗