简体   繁体   English

在Google应用引擎blobstore下载器中启用CORS

[英]Enable CORS in google app engine blobstore downloader

I am using "send_blob" to download pdf from google app engine blobstore. 我正在使用“send_blob”从谷歌应用引擎blobstore下载pdf。 How can i enable CORS for this?I have tried adding 我如何为此启用CORS?我尝试过添加

self.response.headers.add_header("Access-Control-Allow-Origin", "*")

to the function where i call send_blob but it is not working. 到我调用send_blob的函数,但它不起作用。

Found the solution in 找到了解决方案

http://enable-cors.org/server_appengine.html http://enable-cors.org/server_appengine.html

Added a basehandler for blobstore download handler. 为blobstore下载处理程序添加了basehandler。

CORS on App Engine For Python-based applications in Google App Engine, the self.response.headers.add_header() method can be used, such as: App Engine上的CORS对于Google App Engine中基于Python的应用程序,可以使用self.response.headers.add_header()方法,例如:

class CORSEnabledHandler(webapp.RequestHandler):
  def get(self):
  self.response.headers.add_header("Access-Control-Allow-Origin", "*")
  self.response.headers['Content-Type'] = 'text/csv'
  self.response.out.write(self.dump_csv())

For Java-based applications, use resp.addHeader(): 对于基于Java的应用程序,请使用resp.addHeader():

public void doGet(HttpServletRequest req, HttpServletResponse resp) {
  resp.addHeader("Access-Control-Allow-Origin", "*");
  resp.addHeader("Content-Type", "text/csv");
  resp.getWriter().append(csvString);
}

And for Go-based applications, use w.Header().Add(): 对于基于Go的应用程序,请使用w.Header()。Add():

func doGet(w http.ResponseWriter, r *http.Request) {
  w.Header().Add("Access-Control-Allow-Origin", "*")
  w.Header().Add("Content-Type", "text/csv")
  fmt.Fprintf(w, csvData)
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM