Google app engine 谷歌应用引擎Base64编码blobstore中的图像

Google app engine 谷歌应用引擎Base64编码blobstore中的图像,google-app-engine,base64,blobstore,Google App Engine,Base64,Blobstore,我正在制作一个网络应用程序,可以接受用户上传的图像,并将其转换为base64 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_in

我正在制作一个网络应用程序,可以接受用户上传的图像,并将其转换为base64

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
我计划在process\u img过程中处理图像,结果发现我不知道如何从blobstore检索图像数据并对其进行编码。

类TestImageHandler(blobstore\u handlers.BlobstoreUploadHandler):
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)
def post(自我): upload_files=self.get_uploads('file')#'file'是表单中的文件上载字段 如果上载文件: blob\u info=上载\u文件[0] 字符串=进程\u img(blob\u信息) blobstore.delete(blob_info.key())35;可选:导入后删除文件 self.response.out.write(“”%string) def过程img(水滴信息): blob_reader=blobstore.BlobReader(blob_info.key()) data=blob_reader.read() 返回“data:image/%s;base64,”%blob_info.filename.split('..)[1]+base64.b64encode(数据)
那么问题是什么呢?起初我不知道如何将blobstore中的图像转换为base64。后来(我已经回答了),我找到了路。
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)