2012-11-17 96 views
2

我想知道該圖像是否已被修改一段時間以來使用GWT。我發現,設置的If-Modified-Since HTTP標頭可能的工作,所以我試圖做這樣in this post找出該文件是否已被修改使用GWT

RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, "http://www.site.com/pic1.jpg"); 
rb.setHeader("If-Modified-Since", "Sat, 17 Nov 2012 16:17:00 GMT"); 
Request r = rb.sendRequest(null, new RequestCallback() { 
    public void onResponseReceived(Request request, Response response){ 
     int i = response.getStatusCode(); 
     ... 
    } 

    public void onError(Request request, Throwable exception){ 
     ... 
    } 

}); 

的問題是,我得到一個狀態碼等於0。你能告訴我我究竟做錯了什麼?這是一個很好的方法來知道服務器上的文件是否已被修改,或者,有沒有其他方式使用GWT?謝謝。

+0

嗯,狀態碼0聽起來像是同一個主機限制?與GWT代碼在同一臺服務器上的圖像是從哪裏啓動的? –

+0

問題是圖像實際上在不同的服務器上。我剛剛讀過[關於SOP的東西](https://developers.google.com/web-toolkit/doc/1.6/FAQ_Server?hl=sk#What_is_the_Same_Origin_Policy,_and_how_does_it_affect_GWT?),但我仍然不知道如何解決這個問題。 – DropDropped

+0

我假設你想避免下載圖像,如果它沒有改變?否則,您可以將舊圖像和新圖像繪製到畫布上,並比較圖像數據...但這會很慢。我不確定繪製外部圖像是否會阻止訪問像素數據...在規範中沒有找到任何關於此內容的信息。 –

回答