我正在研究一個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