我正在使用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代码可以正常工作,但是当用户删除图像时,我不知道如何删除它。如果我像在解决方案1中一样使用showImageFlowPanel,那么程序会自动为我删除图像,我不需要做任何事情。
所以我的问题是“当用户删除在?中上传的图像时,在哪里调用一个动作?”
发布于 2015-01-07 21:25:59
你必须使用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());
}
}
}
});https://stackoverflow.com/questions/26117517
复制相似问题