当用户删除GWTUpload中上载的图像时,在何处调用操作?

当用户删除GWTUpload中上载的图像时,在何处调用操作?,gwt,gwtupload,Gwt,Gwtupload,我用的是GWTUpload,图书馆就在这里 该网站上客户端的示例代码具有以下结构: // Attach an image to the pictures viewer private OnLoadPreloadedImageHandler showImage = new OnLoadPreloadedImageHandler() { public void onLoad(PreloadedImage image) { //showImageFlowPanel code so

我用的是GWTUpload,图书馆就在这里

该网站上客户端的示例代码具有以下结构:

 // 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)代码

好的,头像代码工作正常,但我不知道当用户删除图像时如何删除它。如果我在解决方案1中使用
showmageflowpanel
,那么程序会自动为我删除图像,我不需要做任何事情


因此,我的问题是“当用户在GWTUpload中删除上载的图像时,在哪里调用操作?

您必须使用
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());
       }
     }
   }
});

没有“setOnCancelUploadHandler”,只有“addOnCancelUploadHandler”。此外,Image没有.get和.remove方法。美联社部分,它工作得很好。你是对的,我复制了一个粘贴的代码并做了一些修改,行195和114。最新评论。remove方法是我的演示中的面板,您必须使用小部件中的任何方法,但重要的是您可以处理事件和文件标识符。