2016-07-06 32 views
1

我試圖通過dev_appserver.py dev服務器訪問託管在遠程雲存儲桶中的文件。Google App Engine本地開發服務器不會路由到遠程雲存儲桶

這直接鏈接到谷歌雲存儲的工作原理:

https://leanplum-wordpress.storage.googleapis.com/leanplum-black.svg 

其中經由dev_appserver地方沒有:

http://localhost:8080/_ah/gcs/leanplum-black.svg 

日誌輸出:

INFO  2016-07-06 22:37:16,461 module.py:788] default: "GET /_ah/gcs/leanplum-black.svg HTTP/1.1" 200 116 

我運行這樣的開發服務器:

dev_appserver.py --default_gcs_bucket_name=leanplum-wordpress . 

怎麼了?

+0

根據這篇文章:http://stackoverflow.com/a/29664200/2302437它應該像上面提到的那樣工作...... Google上似乎也沒有這樣的文檔:/ –

+0

該請求返回200 ,所以它似乎工作。你是否記錄了迴應內容,看看它是什麼? – GAEfan

回答

0

我們仍然有這個問題。我們認爲這是一個源自Appengine Wordpress插件的問題。

我們想出了以下解決方法來獲取圖像正確加載:

創建谷歌瀏覽器一個書籤,並添加以下網址:

javascript:var start = var targetUrls = ["//" + window.location.host + "/wp-content/uploads/","//" + window.location.host + "/_ah/gcs/bucket-name/"];var htmlAttributes = ["src", "srcset"];jQuery("img").each(function(index, img) {targetUrls.forEach(function(pattern) {htmlAttributes.forEach(function(htmlAttr) {var htmlObj = jQuery(img).attr(htmlAttr);if (htmlObj) {jQuery(img).attr(htmlAttr, htmlObj.replace(new RegExp(pattern, "g"), "//bucket-name.storage.googleapis.com/"));}});});}); 

全碼:

var targetUrls = [ 
    "//" + window.location.host + "/wp-content/uploads/", 
    "//" + window.location.host + "/_ah/gcs/bucket-name/" 
]; 
var htmlAttributes = ["src", "srcset"]; 
jQuery("img").each(function(index, img) { 
    targetUrls.forEach(function(pattern) { 
     htmlAttributes.forEach(function(htmlAttr) { 
      var htmlObj = jQuery(img).attr(htmlAttr); 
      if (htmlObj) { 
       jQuery(img).attr(htmlAttr, htmlObj.replace(new RegExp(pattern, "g"), "//bucket-name.storage.googleapis.com/")); 
      } 
     }); 
    }); 
}); 
2

您需要確保auth將配置您的谷歌雲項目,並且客戶端將連接到生產谷歌雲存儲而不是本地開發(當檢測到本地開發服務器運行時,默認情況下會發生這種情況)。

參見here

0

我相信你需要包括水桶名稱:

localhost:port/_ah/gcs/bucket_name/file_suffix 

其中端口默認爲8080,並且文件被寫入:/ BUCKET_NAME/FILE_SUFFIX

看樣子你去:

http://localhost:8080/_ah/gcs/leanplum-black.svg 

但需要包括鬥名,這可能是leanplum - WordPress的

http://localhost:8080/_ah/gcs/leanplum-wordpress/leanplum-black.svg 

請注意,我沒有找到的文檔中這個任何地方。這個問題幫助我猜想,我需要在網址中包含存儲桶名稱,所以我希望這可以幫助其他人!

相關問題