2017-04-30 1 views
0

클라이언트 측에서 이미지 파일을 읽고 base64로 인코딩하여 URL 매개 변수로 보냅니다.base64 문자열을 서버 측에서 디코딩 한 후 길이를 변경하는 param으로 보내는 이유는 무엇입니까?

img = open("file.png", "rb").read() 
print len(img) 
img = img.encode("base64") 
print len(img) 
print len(img.decode("base64")) 

인쇄 252235, 340742252235.

서버 측 디코딩에서 수신 된 str이 동일한 결과를 산출 할 수 없습니다. 인코딩 된 base64를 "http://url.com/test?image=img_str"으로 게시하고 있습니다. 실제로 원래 길이이어야한다

img = flask.request.args["image"] 
print len(img) 
img = img.decode("base64") 
print len(img) 

완벽하게 괜찮 인쇄 340742248176. 게시물 요청 중에 이미지 매개 변수가 수정됩니까? 요청이나 다른 솔루션에서 파일 param을 사용하지 않고이를 수행하는 방법.

답변

0

그래서 알아 냈습니다!

인코딩 된 문자열을 URL 매개 변수로 보내는 동안 문자열의 "+"는 ""로 변환됩니다. 그래서, 해독하기 전에 encoded_base64.replace(" ", "+")했다. 그리고 효과가있었습니다!

관련 문제