Post 为什么base64字符串作为参数发送,在服务器端解码后改变长度?
在客户端,我正在读取一个图像文件并用base64编码,将其作为URL参数发送到Post 为什么base64字符串作为参数发送,在服务器端解码后改变长度?,post,flask,base64,decode,encode,Post,Flask,Base64,Decode,Encode,在客户端,我正在读取一个图像文件并用base64编码,将其作为URL参数发送到 img = open("file.png", "rb").read() print len(img) img = img.encode("base64") print len(img) print len(img.decode("base64")) 打印252235,340742和252235 在服务器端,对接收到的str进行解码无法产生相同的结果。我将编码的base64发布为“” 打印非常精细的340742,以及
img = open("file.png", "rb").read()
print len(img)
img = img.encode("base64")
print len(img)
print len(img.decode("base64"))
打印252235
,340742
和252235
在服务器端,对接收到的str进行解码无法产生相同的结果。我将编码的base64发布为“”
打印非常精细的
340742
,以及实际应为原始长度的248176
。在post请求期间是否修改图像参数?如何在请求或任何其他解决方案中不使用files param来执行此操作。因此,我找到了答案
将编码字符串作为URL参数发送时,字符串中的“+”正在转换为“”。因此,在解码之前必须encoded_base64.替换(“,“+”)
。成功了
img = flask.request.args["image"]
print len(img)
img = img.decode("base64")
print len(img)