Heim > Backend-Entwicklung > PHP-Tutorial > Qiniu hat ein Bild mit demselben Namen hochgeladen. Wie erhalte ich einen neuen Link?

Qiniu hat ein Bild mit demselben Namen hochgeladen. Wie erhalte ich einen neuen Link?

WBOY
Freigeben: 2016-08-04 09:19:18
Original
1094 Leute haben es durchsucht

Wenn Sie Qinius privaten Bucket-Speicher und PHP-Server verwenden und insertOnly auf 0 setzen, können Sie alte Bilder überschreiben.
Hochgeladener Code:

<code>    
    $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;
    </code>
Nach dem Login kopieren
Nach dem Login kopieren

Nachdem der Upload erfolgreich war, erhalte ich so den externen Bildlink:

<code>    $baseUrl = $bucketDomain.'/'.$key;
    $authUrl = $this->auth->privateDownloadUrl($baseUrl);
    return $authUrl;</code>
Nach dem Login kopieren
Nach dem Login kopieren

Kehren Sie dann zum Client-Tag zurück und aktualisieren Sie den IMG-Src mit JS.
Aber ich habe festgestellt, dass das alte Bild immer noch angezeigt wird. Vielen Dank!

Antwortinhalt:

Wenn Sie Qinius privaten Bucket-Speicher und PHP-Server verwenden und insertOnly auf 0 setzen, können Sie alte Bilder überschreiben.
Hochgeladener Code:

<code>    
    $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;
    </code>
Nach dem Login kopieren
Nach dem Login kopieren

Nachdem der Upload erfolgreich war, erhalte ich so den externen Bildlink:

<code>    $baseUrl = $bucketDomain.'/'.$key;
    $authUrl = $this->auth->privateDownloadUrl($baseUrl);
    return $authUrl;</code>
Nach dem Login kopieren
Nach dem Login kopieren

Kehren Sie dann zum Client-Tag zurück und aktualisieren Sie den IMG-Src mit JS.
Aber ich habe festgestellt, dass das alte Bild immer noch angezeigt wird. Vielen Dank!

Qiniu Cloud führt Caching durch und die Plattformverwaltung bietet eine Möglichkeit, die Daten des angegebenen URI zu aktualisieren, um die neuesten Daten zu erhalten.
Ich denke, Sie sollten es selbst generieren $key und etwas Zeit hinzufügen, um zufällige Parameter zu generieren (wenn Sie den Schlüssel nicht angeben, wird Qiniu den Dateinamen zufällig hashen und speichern)

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage