Как создать ссылку для скачивания для доступа к объекту внутри Google Memcache - PullRequest
1 голос
/ 03 декабря 2010

У меня есть приложение, работающее внутри Google App Engine. Это приложение создает записи внутри memcache, и я хочу получить доступ к каждой записи в виде файла по ссылке для скачивания. Возможно ли это?

Ответы [ 3 ]

3 голосов
/ 03 декабря 2010

Вам необходимо определить свой собственный обработчик, который принимает ключ как часть URL или строку запроса и возвращает соответствующий объект из memcache.

Помните, что memcache предназначен для cache , ненадежный механизм хранения, поэтому у вас должен быть способ извлечь объект, даже если он был удален из кэша.

2 голосов
/ 03 декабря 2010

Я использую это для обработки SWF-файлов, хранящихся в виде BLOB-объектов. Вы легко сможете изменить его в соответствии с вашими потребностями и типом файлов.

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), ****)

Я запрашиваю файл с: / swfhandler /? Id = 12

0 голосов
/ 03 декабря 2010

Если я что-то упустил, это должно быть так же просто, как вывод соответствующих заголовков перед выводом содержимого записи, которое вы получили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...