将图片作为字符串发送并解码

时间:2017-05-24 10:08:02

标签: python decode

我有Python2.7的客户端,应用程序没有机会将文件发送到服务器。 所以我把图片作为字符串发送。

with open(path, "rb") as imageFile:
        str = b64encode(imageFile.read())

在服务器上我尝试解码而失败

pic = request.POST.get('picture')
pic = bytes(pic)
fh = open("d:/imageToSave.jpg", "wb")
fh.write(pic)
fh.close()

我该怎么做才能解决这个问题?

3 个答案:

答案 0 :(得分:2)

您的编码解码代码正在运行,但在服务器上我认为您应该对文件夹提供 777可写权限我确定使用此问题将解决此问题。

答案 1 :(得分:2)

您应先解码字符串然后再写。正如我所尝试的那样,类型转换'字节(pic)'没有必要

pic = request.POST.get('picture')
pic_decode = base64.b64decode(pic)
fh = open("d:/imageToSave.jpg", "wb")
fh.write(pic_decode)
fh.close()

答案 2 :(得分:0)

我不确定你将如何在python中做,但你可以尝试这种将图像/图片转换为字符串数组中的byte_code然后发送数据的技术。

警告即使对于小尺寸(低级)图像,十六进制代码也相当长。