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

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

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

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

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

 $.ajax({
                            url: opinions.url,
                            data: formdata,
                            processData: false,
                            contentType: false,
                            dataType: 'json',
                            type: "POST",
                            success: function (data) { //上传成功
                                opinions.success(data);
                            }
                        });

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

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