Ich habe eine Anwendung in der Google App Engine ausgeführt. Diese Anwendung erstellt Einträge innerhalb des Memcache und ich möchte auf jeden Eintrag als eine Datei über einen Download-Link zugreifen. Ist das möglich?So erstellen Sie einen Download-Link für den Zugriff auf ein Objekt im Google Memcache
1
A
Antwort
2
Ich benutze dies um swf-Dateien in Blobs zu behandeln. Sie sollten es leicht ändern können, um es Ihren Bedürfnissen und Dateitypen anzupassen.
class SwfHandler(webapp.RequestHandler):
def get(self):
query = cgi.FieldStorage()
swf = BlobStorage.get_by_id(int(query.getvalue('id')))
if swf:
self.response.headers['Content-Type'] = 'application/x-shockwave-flash'
self.response.out.write(swf.fileData)
else:
self.error(404)
## add "('/swfhandler/', SwfHandler)" to your application :
application = webapp.WSGIApplication([('/swfhandler/', SwfHandler), ****)
Ich bitte die Datei mit: /? Swfhandler/id = 12
0
Wenn ich etwas nicht verpasse, sollte es so einfach sein, entsprechende Header auszugeben, bevor die von Ihnen abgerufenen Einträge ausgegeben werden.
3
Sie müssen einen eigenen Handler definieren, der den Schlüssel als Teil der URL oder eine Abfragezeichenfolge akzeptiert, und das entsprechende Objekt aus Memcache zurückgibt.
Denken Sie daran, dass Memcache ein Cache sein soll, kein zuverlässiger Speichermechanismus, also sollten Sie eine Möglichkeit haben, ein Objekt abzurufen, auch wenn es aus dem Cache entfernt wurde.
Verwandte Themen
- 1. So erstellen Sie einen Angular Factory-Dienst für den Zugriff auf den serverseitigen ASP.NET-Cache
- 2. Zugriff auf ein WPF-Objekt im Dispatcher?
- 3. So erstellen Sie ein Objekt auf der Schleife
- 4. So erstellen Sie eine Prüfsumme für ein Java-Objekt
- 5. Erstellen Sie ein Webprotokoll für den Internetzugriff
- 6. So verwenden Sie SharedAccessSignature für den Zugriff auf Blobs
- 7. So erstellen Sie einen Wert für Schlüssel
- 8. So erstellen Sie einen Schatten für UICollectionViewCell
- 9. WicketTester Wählen Sie Radio Choice und klicken Sie auf DownloadLink
- 10. So rufen Sie das Token für den Zugriff auf das Google-Dienstkonto ab
- 11. Speichern Sie ein Objekt in Memcache von GAE in Go
- 12. So löschen Sie ein Objekt Eintrag Objekt
- 13. So erstellen Sie ein Update auf iOS
- 14. Benötigen Sie den Zugriff auf Daten in JSON.Stringify Objekt
- 15. So erstellen Sie den Dateiwähler
- 16. So gewähren Sie Zugriff auf verknüpfte/sekundäre Google-Konten
- 17. So schränken Sie den Zugriff auf einen WCF-Dienst mit einem freigegebenen Schlüssel ein
- 18. Korrekte Syntax für den Zugriff auf JavaScript-Objekt
- 19. Java: Wege für den Zugriff auf Eigenschaften Objekt nach Last
- 20. Zugriff auf ein Session-Objekt
- 21. Beschränken Sie den Zugriff auf die Website auf einen Computer
- 22. Downloadlink nicht möglich
- 23. Erstellen Sie einen Zeiger auf ein MFnMesh
- 24. So erstellen Sie den Google Apps-Benutzerbenutzungsbericht in Python
- 25. So erstellen Sie den Download-Link für ein Amazon S3-Bucket-Objekt?
- 26. So erstellen Sie ein Projekt in der Google Developers Console
- 27. So verhindern Sie, dass Type.GetProperties() auf Eigenschaften im Objekt zugreift
- 28. So erstellen Sie ein personalisiertes WindowFn in Google Datenfluss
- 29. So veröffentlichen Sie einen dynamischen Ereignisfeed für Google Kalender?
Die Anwendung verwendet wird Schlüsselpaare als auch der geheime Schlüssel wird in die memcache mit einer Zeit ca. leben von setzen zu erzeugen. 1 Minute. Ich möchte, dass die Daten nach einiger Zeit automatisch gelöscht werden. Nachdem das Schlüsselpaar generiert wurde, wird der Benutzer auf eine Seite mit dem geheimen Schlüssel verschoben, und ich möchte einen Link haben, über den ich ihn mit einem einzigen Klick herunterladen kann. – Neverland
Da Memcache ein Cache ist, können die Daten jedoch entfernt werden, bevor der Benutzer darauf zugreift. Die Zeit zu leben ist eine obere Grenze, keine Einschränkung. –