【发布时间】:2015-09-29 15:15:16
【问题描述】:
我试图通过 SOAP 服务调用发送一些数据。目前我在发送正确的图像数据格式时遇到问题(或者可能是其他一些我不知道的问题)。
我正在使用笔记本电脑网络摄像头拍照并通过ajax 调用将jpeg 数据传递到我的后端并成功。我使用的 JavaScript 库来自这里:
https://github.com/jhuckaby/webcamjs
拍照后,我将图片发送到后端,所以在$.ajax 我这样做了:
data : JSON.stringify({imageData : data})
在我的 java 端,我通过将它从 String 转换为 byte[] 来获取 imageData:
String imageData = jsonObj.getString("imageData");
byte[] finalImage = imageData.getBytes();
我现在遇到的问题是,如果我将这个 finalImage 字节数组发送到 SOAP 服务调用,我得到一个错误响应,指出文件丢失或太大(超过 1mb)。我做了一个finalImage.length,它返回 7120。所以我认为该文件的大小绝对不会超过 1mb。
我使用 Snipping Tool 从我的 Windows 操作系统创建了一个 test.jpeg 文件并执行了以下操作,SOAP 服务很高兴地接受了,testImage 字节数组的长度为 7884:
File fi = new File("test.jpeg");
byte[] testImage= Files.readAllBytes(fi.toPath());
可能是什么原因?文件格式不正确?
【问题讨论】:
标签: javascript java jquery ajax