2014-03-03 5 views
-1

사용자가 업로드 한 이미지를 받아 들여 base64로 변환 할 수있는 webapp를 만들고 있습니다.Google App Engine Base64 Blobstore의 이미지 인코딩

class TestImageHandler(blobstore_handlers.BlobstoreUploadHandler): 
    def post(self): 

    upload_files = self.get_uploads('file') # 'file' is file upload field in the form 
    if upload_files: 
     blob_info = upload_files[0] 
     process_img(blob_info) 
     blobstore.delete(blob_info.key()) # optional: delete file after import 

나는 단지 내가 Blob 저장소에서 이미지 데이터를 검색하고 인코딩하는 방법을 모르는 찾으려면 process_img 과정에서 이미지를 처리 ​​할 계획입니다.

+0

그래서 질문은 무엇인가? – Lipis

+0

처음에는 blobstore의 이미지를 base64로 변환하는 방법을 모르겠습니다. 나중에 (나는 이미 대답했다) 나는 길을 찾았다. – pspencil

답변

0
class TestImageHandler(blobstore_handlers.BlobstoreUploadHandler): 
    def post(self): 

     upload_files = self.get_uploads('file') # 'file' is file upload field in the form 
     if upload_files: 
      blob_info = upload_files[0] 
      string = process_img(blob_info) 
      blobstore.delete(blob_info.key()) # optional: delete file after import 

      self.response.out.write('<img alt = "" src = "%s" >' % string) 


def process_img(blob_info): 
    blob_reader = blobstore.BlobReader(blob_info.key()) 
    data = blob_reader.read() 
    return "data:image/%s;base64,"%blob_info.filename.split('.')[1]+base64.b64encode(data) 
0
class TestImageHandler(blobstore_handlers.BlobstoreUploadHandler): 
def post(self): 

    upload_files = self.get_uploads('file') 
    data_to_64 = re.search(r'base64,(.*)', upload_files).group(1) 
    decoded = data_to_64.decode('base64') 
    file_name = files.blobstore.create(mime_type='image/png') 
    with files.open(file_name, 'a') as f: 
     f.write(decoded) 
    files.finalize(file_name) 
    blob_key = files.blobstore.get_blob_key(file_name)