我正在尝试将签名保存在s3数据库中。
4-然后打开该文件并在其中写入字符串。此过程将在我的项目中创建一个本地文件。然后我将该文件上传到S3并将其删除。
class SaveSignature(View):
def post(self,request):
config = GetConfig().config(request)
tub = config['tub']
CLOUD_FRONT_URL = config['CLOUD_FRONT_URL']
host_ = "https://"
user_id = request.session.get('user_id')
image_data = request.POST.get('d')
format, imgstr = image_data.split(';base64,')
ext = format.split('/')[-1]
data = base64.b64decode(imgstr)
file_name = str(user_id)+"_signature" +"."+ ext
user_signature = "{}/Signature/{}".format(user_id,file_name)
sign_url = host_ + CLOUD_FRONT_URL + user_signature
with open('static/user_signature/'+file_name, 'wb') as f:
f.write(data)
s3.meta.client.upload_file('static/user_signature/'+file_name,BUCKET, user_signature, ExtraArgs={'ACL':'public-read'})
尽管此方法有效,但是我想直接上传而不创建额外的文件并为此编写额外的代码。但是我不知道该怎么做!