GAE에서 zip 파일을 동적으로 생성하는 방법
zipfile is available at GAE and example of its use exactly like yours was copied here from http://www.tareandshare.com/2008/09/28/Zip-Google-App-Engine-GAE/
from google.appengine.ext import webapp
from google.appengine.api import urlfetch
import zipfile
from cStringIO import StringIO
def addFile(self,zipstream,url,fname):
# get the contents
result = urlfetch.fetch(url)
# store the contents in a stream
f=StringIO(result.content)
length = result.headers['Content-Length']
f.seek(0)
# write the contents to the zip file
while True:
buff = f.read(int(length))
if buff=="":break
zipstream.writestr(fname,buff)
return zipstream
def ZipFiles(self):
# create the zip stream
zipstream=StringIO()
file = zipfile.ZipFile(zipstream,"w")
url = 'http://someplace.tld/outimage.jpg'
# repeat this for every URL that should be added to the zipfile
file =self.addFile(file,url,"ourimage.jpg")
# we have finished with the zip so package it up and write the directory
file.close()
zipstream.seek(0)
# create and return the output stream
self.response.headers['Content-Type'] ='application/zip'
self.response.headers['Content-Disposition'] = 'attachment; filename="outfile.zip"'
while True:
buf=zipf.read(2048)
if buf=="": break
self.response.out.write(buf)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
how to realize GMap텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.