欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

七牛上传同名图片,如何得到新的链接?

程序员文章站 2022-04-17 17:45:30
...
使用的是七牛的私有Bucket存储,PHP服务端,设置insertOnly为0,可以覆盖旧的图片
上传的代码:
    
    $key="123.jpg";
    $policy=array('insertOnly'=> 0);
    $token = $this->auth->uploadToken($bucket,$key ,3600, $policy);
    // 构建 UploadManager 对象
    $uploadMgr = new UploadManager();
    $result = $uploadMgr -> putFile($token,$key,$path);
    return $result;
    

在上传成功后,我是这样获取图片外链:

    $baseUrl = $bucketDomain.'/'.$key;
    $authUrl = $this->auth->privateDownloadUrl($baseUrl);
    return $authUrl;

然后返回给客户端标签,用JS更新了IMG的src
但是发现还是显示旧的图片,请问如何解决这个问题,感激不尽!

回复内容:

使用的是七牛的私有Bucket存储,PHP服务端,设置insertOnly为0,可以覆盖旧的图片
上传的代码:

    
    $key="123.jpg";
    $policy=array('insertOnly'=> 0);
    $token = $this->auth->uploadToken($bucket,$key ,3600, $policy);
    // 构建 UploadManager 对象
    $uploadMgr = new UploadManager();
    $result = $uploadMgr -> putFile($token,$key,$path);
    return $result;
    

在上传成功后,我是这样获取图片外链:

    $baseUrl = $bucketDomain.'/'.$key;
    $authUrl = $this->auth->privateDownloadUrl($baseUrl);
    return $authUrl;

然后返回给客户端标签,用JS更新了IMG的src
但是发现还是显示旧的图片,请问如何解决这个问题,感激不尽!

七牛云那有做缓存的,平台管理那有提供个刷新指定uri的数据获取最新。
我觉得你应该自己生成个$key 加点时间随机参数生成下(不指定key的话七牛会随机hash个文件名存储)

相关标签: 七牛云存储 php