七牛上传指定key名字的图片,第二次上传能不能覆盖之前的图片?

新手上路,请多包涵

七牛上传指定key名字的图片,第二次上传能不能覆盖之前的图片?

阅读 2.5k
1 个回答

解决:

  1. 构造上传策略,在上传策略中允许覆盖 scope (附录:上传凭证)
  2. 构造上传凭证 Token
  3. 上传时加上<bucket>:<key> 和upload_token

附录

上传策略

上传策略_产品手册_对象存储 - 七牛开发者中心

字段名 必填 说明
scope 指定上传的目标资源空间 Bucket 和资源键 Key(最大为 750 字节)。有三种格式:- <bucket>,表示允许用户上传文件到指定的 bucket。在这种格式下文件只能新增(分片上传需要指定insertOnly为1才是新增,否则也为覆盖上传),若已存在同名资源(且文件内容/etag不一致),上传会失败;若已存在资源的内容/etag一致,则上传会返回成功。- <bucket>:<key>,表示只允许用户上传指定 key 的文件。在这种格式下文件默认允许修改,若已存在同名资源则会被覆盖。如果只希望上传指定 key 的文件,并且不允许修改,那么可以将下面的 insertOnly 属性值设为 1。- <bucket>:<keyPrefix>,表示只允许用户上传指定以 keyPrefix 为前缀的文件,当且仅当 isPrefixalScope 字段为 1 时生效,isPrefixalScope 为 1 时无法覆盖上传。

以表单上传为例

表单上传

名称 类型 必填 说明
action string 上传地址,可参考存储区域
resource_key string 资源名,必须是 UTF-8 编码。注意: 如果上传凭证中 scope 指定为 <bucket>:<key>, 则该字段也必须指定。
custom_name string 自定义变量的名字,不限个数。
custom_value string 自定义变量的值。
upload_token string 必须是一个符合相应规格的上传凭证,否则会返回 401 表示权限认证失败。
crc32 string 上传内容的 crc32 校验码。如填入,则七牛服务器会使用此值进行内容检验。
accept string 当 HTTP 请求指定 accept 头部时,七牛会返回 content-type 头部的值。该值用于兼容低版本 IE 浏览器行为。低版本 IE 浏览器在表单上传时,返回 application/json 表示下载,返回 text/plain 才会显示返回内容。
file file 文件本身。

构造上传凭证

上传凭证

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
七牛云问答
子站问答
访问
宣传栏