2011-07-25 36 views
1

我正在嘗試將圖像寫入blob存儲區。我試過fetch_response = urlfetch.fetch(image_url, deadline=10)超時了,現在我正在嘗試使用rpc獲得相同的結果。有人能告訴我下面的代碼有什麼問題嗎?感謝您的幫助:GAE的樂趣:urlfetch rpc超時

media_items = ['logo.png'] 
    content_type = 'image/png' 
    for media_item in media_items: 
     image_url = 'http://localhost:8080/image/' + media_item 
     #fetch_response = urlfetch.fetch(image_url, deadline=10) 
     rpc = urlfetch.create_rpc(deadline=20) 
     urlfetch.make_fetch_call(rpc, image_url) 
     try: 
      file_data = rpc.get_result() 
      file_name = files.blobstore.create(mime_type=content_type) 
      with files.open(file_name, 'a') as f: 
       f.write(file_data) 
      files.finalize(file_name) 
      blob_key = files.blobstore.get_blob_key(file_name) 
      create_media_item(blob_key) 
     except urlfetch.DownloadError: 
      logging.error('DownloadError') 

這是在我的機器上運行,並且如果我使用此URL查看瀏覽器中的圖片,它會顯示。我的logging.error()被打印。

+1

使用'logging.exception'而不是'logging.error',並且您的日誌消息將包含堆棧跟蹤和異常信息。 –

+0

謝謝尼克!這非常有用! –

回答

3

如果您取出由你自己的應用程序中的BLOB,你應該可能使用BlobReader或從文件系統加載文件。