0

我正在使用 GWTUpload ,该库在这里https://code.google.com/p/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)代码。

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

所以我的问题是“当用户在 GWTUpload 中删除上传的图像时在哪里调用操作?

4

1 回答 1

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());
       }
     }
   }
});
于 2015-01-07T21:25:59.617 回答