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