这是我通过Errai Jax-RS发送和图像数据的代码:
Model model = new Model();
GWT.log("Before setting byte array");
model.setImage(Base64.base64ToByteArray(base64));
GWT.log("After setting byte array");
modelService.call(new RemoteCallback<String>() {
@Override
public void callback(String hash) {
GWT.log("Model upload with hash - " + hash);
}
}, new ErrorCallback() {
@Override
public boolean error(Message message, Throwable throwable) {
showErrorModal();
return false;
}
}).createModel(model);
日志显示"设置字节数组后"在客户端(浏览器)中断或挂起之前记录。所以问题似乎出在服务呼叫上。像这样发送 base64 数据有错吗?测试数据发送的大小约为 350K 字节。
我会以字符串而不是字节数组发送图像。
因此,将模型中的图像属性更改为字符串,并在需要处理图像时在服务器端从base64字符串转换为字节数组。