package edu.purdue.pivot.skwiki.client.image;
import gwtupload.client.IUploadStatus.Status;
import gwtupload.client.IUploader;
import gwtupload.client.IUploader.UploadedInfo;
import gwtupload.client.MultiUploader;
import gwtupload.client.PreloadedImage;
import gwtupload.client.PreloadedImage.OnLoadPreloadedImageHandler;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.VerticalPanel;
public class ImageUploader extends DialogBox {
VerticalPanel p;
PreloadedImage uploadedImage = null;
public ImageUploader(int width, int height) {
MultiUploader defaultUploader = new MultiUploader();
defaultUploader.addOnFinishUploadHandler(onFinishUploaderHandler);
this.add(defaultUploader);
}
public PreloadedImage getImage() {
return uploadedImage;
}
private IUploader.OnFinishUploaderHandler onFinishUploaderHandler = new IUploader.OnFinishUploaderHandler() {
@Override
public void onFinish(IUploader uploader) {
if (uploader.getStatus() == Status.SUCCESS) {
new PreloadedImage(uploader.fileUrl(), showImage);
// The server sends useful information to the client by default
UploadedInfo info = uploader.getServerInfo();
System.out.println("File name " + info.name);
System.out.println("File content-type " + info.ctype);
System.out.println("File size " + info.size);
// You can send any customized message and parse it
System.out.println("Server message " + info.message);
}
}
};
// Attach an image to the pictures viewer
private OnLoadPreloadedImageHandler showImage = new OnLoadPreloadedImageHandler() {
@Override
public void onLoad(PreloadedImage image) {
image.setWidth("75px");
uploadedImage = image;
}
};
}