2014-12-14 2 views
0

이미지를 응답으로 보내려고하지만 그 전에 약간의 작업을하고 싶습니다. 따라서 기본적으로 정적 .yaml 경로를 사용할 수 없습니다. 다음은 코드입니다.App Engine : webapp2 프레임 워크를 사용하여 self.response.out을 사용하여 이미지 응답을 제공하려면 어떻게해야합니까?

trackingModel = TrackingModel(uuid = key, ip_address=self.request.remote_addr) 
     logging.info("Remote IP address: %s and current user is: %s", self.request.remote_addr, self.get_user_from_session()) 
     trackingModel.put() 
     #self.response.write(trackingModel.time) 
     self.response.headers.add_header('Access-Control-Allow-Origin', 'https://mail.google.com') 
     self.response.headers.add_header('Access-Control-Allow-Credentials', 'true') 
     self.response.headers['Content-Length'] = '0' 
     self.response.headers['Cache-Control'] = 'max-age=0, no-cache, no-store' 
     self.response.headers['Pragma'] = 'no-cache' 

다른 정적 js 및 css 파일을 반환하는 동일한/정적 디렉토리에서 1px 이미지를 반환하려면 어떻게해야합니까?

답변

1

작업을 수행 한 다음 이미지의 위치로 리디렉션하십시오.

# do work 
self.redirect('/static/image.gif') 

대안 적으로, 이미지와 일치하는 MIME 타입에 Content-Type을 설정 한 다음 파일로 이미지를 열고 물품. 프로그램 측면에서 조금 더 많은 작업이 이루어 지지만 리디렉션이 도입 한 여분의 왕복은 절약됩니다.

+0

또한 응답에 약간의 헤더를 추가해야합니다 self.response.headers.add_header ('액세스 제어 - 허용 - 기원', 'HTTPS : –

+0

가 나는 또한 응답에 약간의 헤더를 추가해야합니다 :self.response.headers [ 'Content-Length'] = '0' ('액세스 제어 허용 허용', ' self.response.headers [ 'Pragma'] = 'no-cache' 문제를 해결하기 위해 self.response.headers [ 'Cache-Control'] = '최대 수명 = 0, 캐시 없음, 저장 안 함' App Engine에서 Access-Control-Allow-Credentials 및 Content-Length를 설정할 수없는 것 같습니다. 캐싱 동작을 제어해야합니다. –

+0

'Content-Length'를 0으로 설정하려는 이유는 무엇입니까? –