秦雅酒食
2018-10-22 06:25
采纳率: 100%
浏览 1.5k

图片base64 上传到服务器 数据缺失

图片说明
图片说明
我在app端把blob转成base64数据,通过post请求上传jpg图片的base64数据,出现了这种情况,请问有哪些原因呢?
服务器端接的base64数据 ‘/9j/4’ 这个jpg图片的标志都没了,注意,暂时不清楚是转换过程出错,还是传输过程出错
app和服务器都是基于C#写的,图片的来源是手机连接了一个相机,从相机那里得到的blob数据

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 秦雅酒食 2019-02-27 11:21
    已采纳

    这个还是没能查出来,改用二进制传输试试了

    点赞 打赏 评论
  • blownewbee 2018-10-22 06:37

    数据不完整或者数据编码错误。要通过原始图片和你转换之后的比较才能确定。用windiff一类的工具比较前后差异。
    前者可能性大一些。如果是不全,看下你post的数据,是不是被截断了。建议你用multi-parts,不要用url-encoded

    点赞 打赏 评论
  • moonlight9611 2018-10-22 08:31

    不知道你是不是用jquery post的。做网站用过ajax传,同样被截取了一部分,后来改成以下这方式就可以了,截图整个桌面都没有丢失

     $.ajax({
                                url: opinions.url,
                                data: formdata,
                                processData: false,
                                contentType: false,
                                dataType: 'json',
                                type: "POST",
                                success: function (data) { //上传成功
                                    opinions.success(data);
                                }
                            });
    
    点赞 打赏 评论
  • 子幽 2018-10-22 09:06

    是否存在数据库的,看看你的字段长度是不是太小了

    点赞 打赏 评论
  • weixin_41409709 2018-10-26 01:39

    猜测应该是编码问题,有可能是传输的编码有问题, 或者是你转换时用的编码和服务器读的编码不一样。建议你使用特定的编码(如utf-8)

    点赞 打赏 评论

相关推荐 更多相似问题