将图片以base64编码后post传给服务器,服务器接收异常
问题1:QNetworkReply::InternalServerError 401,请求时报了这个错误
问题2:content-type missing in HTTP POST, defaulting to application/x-www-form-urle,请求的时候偶尔会出现这个提示。
原因:后台查找后发现,请求已经发送到后台,但是因为解析数据失败所以返回的这个错误。后台自己测试的时候用的python写的测试是可以通过的。最后代码改成这个样子。
解决:1、设置header,network_request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded; charset=utf-8");
2、在发送数据的时候直接进行了字符串拼接,“:”改成了“=”。例:"image="+str
问题3:请求服务器成功,但是返回图片解析异常,后台查找发现数据好像是一张图片但又解析不出来图片
原因:base64在传输过程中有一个URL转码,其中有些特殊字符或符号发生了改变。
解决:base64String.toPercentEncoding()