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

大渣吼吾系渣渣辉 2014-07-10 10:08:34
对一个文件base64编码后,返回的字符串长度是6w多个字母,导致psot时候URI过长



string fileContent = Convert.ToBase64String(File.ReadAllBytes(filePath));
...全文
54263 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbj91122 2016-07-01
  • 打赏
  • 举报
回复
最近做了一个相同的项目,发现图片文件在100k以内,生成的base64字符长度是1w左右,就能正常post传递。但是一旦图片再大一些,base64超过20480,服务器就不执行提交了。PS:我已经修改IIS的maxQueryString了,不然连10k的图片都传不了(我是在本地iis测试的,不知道放在服务器是否可以实现post无限大上传,如果可以就能解决了)
tyc1317 2016-06-06
  • 打赏
  • 举报
回复
引用 14 楼 lizeyuan8238386 的回复:
其实这个不是因为长度问题导致post没有关系,是因为处理参数的函数处理过长的base64字符串的时候出现了异常, P哥教训的是,我的确花了一点时间去了解, 多谢了
对应BASE64编码,应该用URLencode过后,再作为参数传输,这样就不会因为接收方默认URLdecode后,+表变为空格导致出现异常。当然URLencode 和 URLdecode 也是要统一的。避免出现多次URLdecode的情况。
於黾 2014-07-10
  • 打赏
  • 举报
回复
这需求真奇葩 将文件流转文本,然后整个当参数放到URL里去?
tcmakebest 2014-07-10
  • 打赏
  • 举报
回复
既然用POST了,为什么还从URI上传呢,POST可以带内容.
rtdb 2014-07-10
  • 打赏
  • 举报
回复
分段提交? 还能搞个进度条
宝_爸 2014-07-10
  • 打赏
  • 举报
回复
用Post参数,别用Get参数,太长了。
  • 打赏
  • 举报
回复
你所谓的“求指导”是不真实的吧,你没有一丁点耐心自学吧。
  • 打赏
  • 举报
回复
不变长难道还要变短吗?你是否花10分钟了解过 base64 的原理呢?如果了解过,那么知道为什么base64会让字节数多出30%,就跟知道如何计算 7+1 = ? 一样简单。
真相重于对错 2014-07-10
  • 打赏
  • 举报
回复
你用http压缩技术传递它
by_封爱 2014-07-10
  • 打赏
  • 举报
回复 1
这个不会..用webservice吧
真相重于对错 2014-07-10
  • 打赏
  • 举报
回复
base64 本来就是要变大
  • 打赏
  • 举报
回复
人呢
  • 打赏
  • 举报
回复
哥哥们 都睡着了吗
  • 打赏
  • 举报
回复
文件大小49k 是一个zip文件
  • 打赏
  • 举报
回复
引用 8 楼 sp1234 的回复:
你所谓的“求指导”是不真实的吧,你没有一丁点耐心自学吧。
  • 打赏
  • 举报
回复
其实这个不是因为长度问题导致post没有关系,是因为处理参数的函数处理过长的base64字符串的时候出现了异常, P哥教训的是,我的确花了一点时间去了解, 多谢了
於黾 2014-07-10
  • 打赏
  • 举报
回复
你是在逗我么

62,240

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧