Ich versuche eine signierte URL für ein öffentliches Image zu erstellen
Ist es möglich, die Berechtigungsstufe für die URL festzulegen, oder muss ich sie nach dem Hochladen der Datei festlegen?Google Storage signierte URL öffentlich lesen
Ich habe versucht, es zu tun, indem Sie einige Überschriften übergeben, aber ich bin nicht sicher auf der richtigen Weise, es zu tun.
opts := &storage.SignedURLOptions{
GoogleAccessID: googleAccessID,
PrivateKey: data,
Method: "PUT",
Expires: time.Now().Add(time.Hour * 1),
ContentType: r.MimeType,
Headers: []string{"x-goog-acl"},
or maybe Headers: []string{"x-goog-acl:public-read"},
}
Dann muss der Client auch die Kopfzeile setzen?
Dies ist, nachdem die Datei in den Bucket hochgeladen wurde, Nicht zum Zeitpunkt der signierten URL-Erstellung? – MIkCode
Dieses Beispiel zeigt, wie Sie die Berechtigungen beim Speichern der Datei festlegen. Wenn Sie die Berechtigungen nach dem Speichern aktualisieren müssen, verwenden Sie func (o * ObjectHandle) Update (ctx context.Context, attrs ObjectAttrs), um ihm neue Berechtigungen zu geben. Basierend auf Ihrer Frage hatte ich den Eindruck, dass die Datei bereits öffentlich war. Eine signierte URL wäre daher nicht erforderlich, da dies für eingeschränkte Dateien gilt, die Sie vorübergehend freigeben möchten. – Sean