我正在使用ConnectionRequest和downloadImageToStorage從Web服務器下載圖像。網絡服務器返回一個307的位置,下一個網址返回301與另一個位置,該位置最終返回實際圖像。在ConnectionRequest中處理307和301
我定義了一個FailureCallback,但它根本沒有被調用。我所能看到的只是設備屏幕上的一條消息,指示錯誤並具有重試/取消按鈕。
這裏是我的代碼
FailureCallback<Image> failure = new FailureCallback<Image>() {
public void onError(Object sender, Throwable err, int errorCode, String errorMessage) {
System.out.println(errorCode);
if (errorCode == 307 || errorCode == 301) {
System.out.println(sender.getClass().getName());
}
}
};
ConnectionRequest request = new ConnectionRequest();
request.setUrl(url);
request.setHttpMethod("GET");
request.downloadImageToStorage("img_" + imgCount, (img) -> {
SpanLabel t = new SpanLabel();
t.add(BorderLayout.CENTER, img);
myform.add(t);
}, failure);
++imgCount;
我如何能捕捉這些錯誤,所以我可以從響應對象獲取的位置,並呼籲那些有新ConnectionRequests?
請注意,我可以看到錯誤代碼和位置鏈,當我在Chrome中使用調試器來獲取我正在嘗試加載的映像時。
由於
失敗未被調用的事實可能是一個錯誤,我曾要求史蒂夫在他寫這個方法時考慮這個問題,並可能對此有更好的瞭解。 –