2014-09-30 24 views
0

我使用GWTUpload,庫是在這裏https://code.google.com/p/gwtupload/當用戶在GWTUpload中刪除上傳的圖像時,何處調用Action?

示例代碼在該網站上找到客戶端具有這種結構:

// Attach an image to the pictures viewer 
private OnLoadPreloadedImageHandler showImage = new OnLoadPreloadedImageHandler() { 
    public void onLoad(PreloadedImage image) { 
     //showImageFlowPanel code solution 1 
     image.setWidth("75px"); 
     showImageFlowPanel.add(image); 
    } 
}; 


private IUploader.OnFinishUploaderHandler onFinishUploaderHandler = new IUploader.OnFinishUploaderHandler() { 
     public void onFinish(IUploader uploader) { 
     if (uploader.getStatus() == Status.SUCCESS) { 

      new PreloadedImage(uploader.fileUrl(), showImage); 

      UploadedInfo info = uploader.getServerInfo(); 

      String headShotImageUrl="http://"+Window.Location.getHost()+"/" +"images/uploaded/"+info.message; 
      //headShotImage code solution 2 
      if(!"".equals(headShotImageUrl) && UriUtils.isSafeUri(headShotImageUrl)){ 
       headShotImage.setUrl(UriUtils.fromString(headShotImageUrl)); 
      } 



     } 
     } 
    }; 

的例子使用showImageFlowPanel(溶液1),用於存儲所述圖像但我想在headShotImage裏面存儲圖片,在用戶上傳圖片成功之後接收這個url,請參閱上面的headShotImage(解決方案2)代碼。

好吧,headShotImage代碼工作正常,但我不知道如何刪除它時,用戶刪除圖像。如果我在解決方案1中使用showImageFlowPanel,那麼程序會自動爲我移除圖像,而且我不需要執行任何操作。

所以我的問題是「當調用一個動作,當用戶刪除在GWTUpload上傳圖片?

回答

1

你必須使用setOnCancelUploaderHandler。看看這個代碼從演示中獲取。

// When the user clicks a cancel button we get an event 
uploader.addOnCancelUploadHandler ( 
    new IUploader.OnCancelUploaderHandler() { 
    public void onCancel(IUploader uploader) { 
     for (String iname : uploader.getServerMessage().getUploadedFieldNames()) { 
     // loadedImages is an temporary table where we are adding all uploaded files 
     // indexed by field name 
     Widget w = loadedImages.get(iname); 
     if (w != null) { 
      w.removeFromParent(); 
     loadedImages.remove(uploader.getInputName()); 
     } 
    } 
    } 
}); 
+0

沒有「setOnCancelUploadHandler」,但只有「addOnCancelUploadHandler」。此外,Image沒有.get&.remove方法。 Ap部分從這,它工作正常 – Tum 2015-01-08 04:26:21

+0

你是對的,我複製粘貼的代碼,並改變了一點,[見原文](https://github.com/manolo/gwtupload/blob/master/samples/src/main /java/gwtuploadsample/client/ChismesUploadSample.java#L195)行#195和#114。更新評論。 remove方法是我演示中的面板,您必須使用您的小部件中的任何方法,但重要的是您可以處理事件和文件標識。 – 2015-01-08 06:27:57

相關問題