对文件base64编码后, 字符串长度过长, 求指导

时间:2022-12-02 21:10:24
  对一个文件base64编码后,返回的字符串长度是6w多个字母,导致psot时候URI过长



string fileContent = Convert.ToBase64String(File.ReadAllBytes(filePath));

18 个解决方案

#1


文件大小49k  是一个zip文件

#2


对文件base64编码后, 字符串长度过长, 求指导 哥哥们  都睡着了吗

#3


对文件base64编码后, 字符串长度过长, 求指导人呢

#4


base64 本来就是要变大

#5


对文件base64编码后, 字符串长度过长, 求指导

这个不会..用webservice吧 对文件base64编码后, 字符串长度过长, 求指导

#6


你用http压缩技术传递它

#7


不变长难道还要变短吗?你是否花10分钟了解过 base64 的原理呢?如果了解过,那么知道为什么base64会让字节数多出30%,就跟知道如何计算 7+1 = ? 一样简单。

#8


你所谓的“求指导”是不真实的吧,你没有一丁点耐心自学吧。

#9


用Post参数,别用Get参数,太长了。

#10


分段提交? 还能搞个进度条

#11


既然用POST了,为什么还从URI上传呢,POST可以带内容.

#12


这需求真奇葩
将文件流转文本,然后整个当参数放到URL里去?

#13


你是在逗我么

#14


其实这个不是因为长度问题导致post没有关系,是因为处理参数的函数处理过长的base64字符串的时候出现了异常,
P哥教训的是,我的确花了一点时间去了解, 多谢了

#15


引用 8 楼 sp1234 的回复:
你所谓的“求指导”是不真实的吧,你没有一丁点耐心自学吧。
对文件base64编码后, 字符串长度过长, 求指导

#16


引用 7 楼 sp1234 的回复:
不变长难道还要变短吗?你是否花10分钟了解过 base64 的原理呢?如果了解过,那么知道为什么base64会让字节数多出30%,就跟知道如何计算 7+1 = ? 一样简单。
煞笔

#17


引用 14 楼 lizeyuan8238386 的回复:
其实这个不是因为长度问题导致post没有关系,是因为处理参数的函数处理过长的base64字符串的时候出现了异常,
P哥教训的是,我的确花了一点时间去了解, 多谢了


对应BASE64编码,应该用URLencode过后,再作为参数传输,这样就不会因为接收方默认URLdecode后,+表变为空格导致出现异常。当然URLencode 和 URLdecode 也是要统一的。避免出现多次URLdecode的情况。

#18


最近做了一个相同的项目,发现图片文件在100k以内,生成的base64字符长度是1w左右,就能正常post传递。但是一旦图片再大一些,base64超过20480,服务器就不执行提交了。PS:我已经修改IIS的maxQueryString了,不然连10k的图片都传不了(我是在本地iis测试的,不知道放在服务器是否可以实现post无限大上传,如果可以就能解决了)

#1


文件大小49k  是一个zip文件

#2


对文件base64编码后, 字符串长度过长, 求指导 哥哥们  都睡着了吗

#3


对文件base64编码后, 字符串长度过长, 求指导人呢

#4


base64 本来就是要变大

#5


对文件base64编码后, 字符串长度过长, 求指导

这个不会..用webservice吧 对文件base64编码后, 字符串长度过长, 求指导

#6


你用http压缩技术传递它

#7


不变长难道还要变短吗?你是否花10分钟了解过 base64 的原理呢?如果了解过,那么知道为什么base64会让字节数多出30%,就跟知道如何计算 7+1 = ? 一样简单。

#8


你所谓的“求指导”是不真实的吧,你没有一丁点耐心自学吧。

#9


用Post参数,别用Get参数,太长了。

#10


分段提交? 还能搞个进度条

#11


既然用POST了,为什么还从URI上传呢,POST可以带内容.

#12


这需求真奇葩
将文件流转文本,然后整个当参数放到URL里去?

#13


你是在逗我么

#14


其实这个不是因为长度问题导致post没有关系,是因为处理参数的函数处理过长的base64字符串的时候出现了异常,
P哥教训的是,我的确花了一点时间去了解, 多谢了

#15


引用 8 楼 sp1234 的回复:
你所谓的“求指导”是不真实的吧,你没有一丁点耐心自学吧。
对文件base64编码后, 字符串长度过长, 求指导

#16


引用 7 楼 sp1234 的回复:
不变长难道还要变短吗?你是否花10分钟了解过 base64 的原理呢?如果了解过,那么知道为什么base64会让字节数多出30%,就跟知道如何计算 7+1 = ? 一样简单。
煞笔

#17


引用 14 楼 lizeyuan8238386 的回复:
其实这个不是因为长度问题导致post没有关系,是因为处理参数的函数处理过长的base64字符串的时候出现了异常,
P哥教训的是,我的确花了一点时间去了解, 多谢了


对应BASE64编码,应该用URLencode过后,再作为参数传输,这样就不会因为接收方默认URLdecode后,+表变为空格导致出现异常。当然URLencode 和 URLdecode 也是要统一的。避免出现多次URLdecode的情况。

#18


最近做了一个相同的项目,发现图片文件在100k以内,生成的base64字符长度是1w左右,就能正常post传递。但是一旦图片再大一些,base64超过20480,服务器就不执行提交了。PS:我已经修改IIS的maxQueryString了,不然连10k的图片都传不了(我是在本地iis测试的,不知道放在服务器是否可以实现post无限大上传,如果可以就能解决了)