Added message field

This commit is contained in:
Ziver Koc 2010-11-04 16:44:46 +00:00
parent 4c7d85a806
commit e508fbe783
3 changed files with 37 additions and 15 deletions

View file

@ -135,15 +135,7 @@ public abstract class AjaxFileUpload extends HttpServlet {
} }
} }
JSONNode node = new JSONNode( JSONType.Map ); root.add( listener.getJSON() );
node.add("id", listener.getID());
node.add("filename", listener.getFilename());
node.add("percent", listener.getPercentComplete());
node.add("uploaded", StringUtil.formatBytesToString( listener.getBytesRead() ));
node.add("total", StringUtil.formatBytesToString( listener.getContentLength() ));
node.add("speed", StringUtil.formatBytesToString( listener.getSpeed() )+"/s");
node.add("status", listener.getStatus().toString());
root.add(node);
} }
// Write to the user // Write to the user
@ -214,6 +206,8 @@ public abstract class AjaxFileUpload extends HttpServlet {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
listener.setStatus(Status.Error); listener.setStatus(Status.Error);
listener.setFileName("");
listener.setMessage( e.getMessage() );
} }
} }

View file

@ -67,19 +67,21 @@ function updateUploadStatus(){
$("#UploadQueue").append("<li id='"+item.id+"'>{PROGHTML}</li>"); $("#UploadQueue").append("<li id='"+item.id+"'>{PROGHTML}</li>");
} }
// Update data // Update data
if(jQuery("#UploadQueue #"+item.id+" .status").size() > 0)
jQuery("#UploadQueue #"+item.id+" .status").html( item.status );
if(jQuery("#UploadQueue #"+item.id+" .message").size() > 0)
jQuery("#UploadQueue #"+item.id+" .message").html( item.message );
if(jQuery("#UploadQueue #"+item.id+" .filename").size() > 0) if(jQuery("#UploadQueue #"+item.id+" .filename").size() > 0)
jQuery("#UploadQueue #"+item.id+" .filename").html( item.filename ); jQuery("#UploadQueue #"+item.id+" .filename").html( item.filename );
if(jQuery("#UploadQueue #"+item.id+" .progress").size() > 0) if(jQuery("#UploadQueue #"+item.id+" .progress").size() > 0)
jQuery("#UploadQueue #"+item.id+" .progress").animate({width: item.percent+"%"}, 'slow'); jQuery("#UploadQueue #"+item.id+" .progress").animate({width: item.percent+"%"}, 'slow');
//jQuery("#UploadQueue #"+item.id+" #progress").css("width", item.percent+"%");
if(jQuery("#UploadQueue #"+item.id+" .total").size() > 0) if(jQuery("#UploadQueue #"+item.id+" .total").size() > 0)
jQuery("#UploadQueue #"+item.id+" .total").html( item.total ); jQuery("#UploadQueue #"+item.id+" .total").html( item.total );
if(jQuery("#UploadQueue #"+item.id+" .uploaded").size() > 0) if(jQuery("#UploadQueue #"+item.id+" .uploaded").size() > 0)
jQuery("#UploadQueue #"+item.id+" .uploaded").html( item.uploaded ); jQuery("#UploadQueue #"+item.id+" .uploaded").html( item.uploaded );
if(jQuery("#UploadQueue #"+item.id+" .speed").size() > 0) if(jQuery("#UploadQueue #"+item.id+" .speed").size() > 0)
jQuery("#UploadQueue #"+item.id+" .speed").html( item.speed ); jQuery("#UploadQueue #"+item.id+" .speed").html( item.speed );
if(jQuery("#UploadQueue #"+item.id+" .status").size() > 0)
jQuery("#UploadQueue #"+item.id+" .status").html( item.status );
// remove li when done // remove li when done
if( item.status == "Done" ){ if( item.status == "Done" ){

View file

@ -2,6 +2,10 @@ package zutil.jee.upload;
import org.apache.commons.fileupload.ProgressListener; import org.apache.commons.fileupload.ProgressListener;
import zutil.StringUtil;
import zutil.parser.json.JSONNode;
import zutil.parser.json.JSONNode.JSONType;
/** /**
* This is a File Upload Listener that is used by Apache * This is a File Upload Listener that is used by Apache
@ -19,11 +23,12 @@ public class FileUploadListener implements ProgressListener{
} }
private String id; private String id;
private volatile Status status;
private volatile String filename; private volatile String filename;
private volatile String message;
private volatile long bytes = 0l; private volatile long bytes = 0l;
private volatile long length = 0l; private volatile long length = 0l;
private volatile int item = 0; private volatile int item = 0;
private volatile Status status;
private volatile long time; private volatile long time;
// Speed // Speed
@ -56,12 +61,14 @@ public class FileUploadListener implements ProgressListener{
protected void setFileName(String filename){ protected void setFileName(String filename){
this.filename = filename; this.filename = filename;
item++;
} }
protected void setStatus(Status status){ protected void setStatus(Status status){
this.status = status; this.status = status;
time = System.currentTimeMillis(); time = System.currentTimeMillis();
} }
protected void setMessage(String msg){
this.message = msg;
}
public String getID(){ public String getID(){
@ -92,6 +99,10 @@ public class FileUploadListener implements ProgressListener{
return time; return time;
} }
protected String getMessage(){
return message;
}
/** /**
* @return bytes per second * @return bytes per second
*/ */
@ -107,4 +118,19 @@ public class FileUploadListener implements ProgressListener{
return 0; return 0;
return (int)((100 * bytes) / length); return (int)((100 * bytes) / length);
} }
public JSONNode getJSON() {
JSONNode node = new JSONNode( JSONType.Map );
node.add("id", id);
node.add("status", status.toString());
node.add("message", message);
node.add("filename", filename);
node.add("percent", getPercentComplete());
node.add("uploaded", StringUtil.formatBytesToString( bytes ));
node.add("total", StringUtil.formatBytesToString( length ));
node.add("speed", StringUtil.formatBytesToString( speed )+"/s");
return node;
}
} }