我正在研究一个GWT应用程序,它可以为二进制数据创建REST调用。我正在尝试使用GWT的RequestBuilder。问题是响应只提供了一个getText()方法。GWT HTTP响应getText()作为二进制
下面是重现问题最简单的例子:
private static void sendRequest()
{
String url = URL.encode("/object/object_id");
RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url);
try
{
requestBuilder.sendRequest("", new RequestCallback()
{
@Override
public void onResponseReceived(Request request, Response response)
{
String data = response.getText(); ///< Need this to be a byte[] array (e.g. getData())
}
@Override
public void onError(Request request, Throwable exception)
{
}
});
}
catch (RequestException RequestException)
{
}
}
的问题是,GWT是作为一个字符串(我认为)编码响应数据为默认平台的编码。在GWT将其转换为字符串之前有什么方法可以获取数据吗?
我怀疑了。我们将不得不修改我们的API,以便在返回之前对数据进行基础编码。 – Naijaba 2011-05-18 23:54:39
这是一个错误的答案。 HTTP可以传输二进制数据。一个常见的例子是图像。 – maasg 2011-07-01 16:40:16
是的,我应该更清楚:HTTP可以下载和上传二进制文件,购买二进制文件不可用于JavaScript,因此GWT。 – 2012-01-03 18:47:29