请教些问题,关于移动端调用接口上传图片到服务器的。

shine_fly 2016-01-09 09:21:11
背景是这样的,移动端有OS,有Java的,以json方式调用C#的WCF接口,上传文字图片。

问题就是:C#这个接口改怎么接收移动端上来的图片?我想的是既然是json方式,传送类型肯定都是string,移动端将图片转成base64位格式传过来,就不用二进制再转了,Java的二进制和C#的二进制方式又不一致,但在自己测试base64的时候,如果图片稍微大点,大概1M的样子,base64的字符就会很长,再转成byte[]读取图片的时候就报错。

望做过的朋友交流下心得,具体以什么方式来解决,谢谢了。
...全文
522 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
本拉灯 2016-01-14
  • 打赏
  • 举报
回复
文字是用JSON这是没问题的,如果你上传图片或文件也用JSON不是是有点大了。 这东西一般不都用直接Post数据,还有你所说的JAVA 转BASE64与C#的不一至。。。这不会呀,我们转的基本都是一样的,要么你JAVA的代码有问题。 如果你所说的省流量,那要把图片流压缩包再POST到服务端然后再解压 一张图1K 的你用Base64 后会变成2-3K 本来就不省了,你再AES 又加大了变成了4K,这个流量你怎么省。。。
shine_fly 2016-01-14
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
[quote=引用 楼主 shine_fly 的回复:] 但在自己测试base64的时候,如果图片稍微大点,大概1M的样子,base64的字符就会很长,再转成byte[]读取图片的时候就报错。
如果你的 base64 字符串长度没有达到2G的话,那么还是认真检查自己的“转成byte[ ]读取图片”的那一行代码背后有没有什么原理性的错误,不要纠结字符串长度“问题”。[/quote] 对移动端来说传几个图要几MB的流量啦,那是不是曲线救国点再把base64进行AES或其他加密后再发到服务器端,这不省点流量了吗?你们平时和手机端怎么怎么搞的?
shine_fly 2016-01-14
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
[quote=引用 楼主 shine_fly 的回复:] 但在自己测试base64的时候,如果图片稍微大点,大概1M的样子,base64的字符就会很长,再转成byte[]读取图片的时候就报错。
如果你的 base64 字符串长度没有达到2G的话,那么还是认真检查自己的“转成byte[ ]读取图片”的那一行代码背后有没有什么原理性的错误,不要纠结字符串长度“问题”。[/quote] SP大牛,同问: 对移动端来说传几个图要几MB的流量啦,那是不是曲线救国点再把base64进行AES或其他加密后再发到服务器端,这不省点流量了吗?你们平时和手机端怎么怎么搞的?
Justin-Liu 2016-01-09
  • 打赏
  • 举报
回复
报什么错啊?
xuzuning 2016-01-09
  • 打赏
  • 举报
回复
图片 1M,base64 就是 1.3333M。不算很大 如果确因内存不够而造成整体解码失败,你可以以 4个字节为单位分段解码后拼接起来
  • 打赏
  • 举报
回复
引用 楼主 shine_fly 的回复:
但在自己测试base64的时候,如果图片稍微大点,大概1M的样子,base64的字符就会很长,再转成byte[]读取图片的时候就报错。
如果你的 base64 字符串长度没有达到2G的话,那么还是认真检查自己的“转成byte[ ]读取图片”的那一行代码背后有没有什么原理性的错误,不要纠结字符串长度“问题”。

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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