uploadlistener.java
来自「简单实用的ajax实例,包含动态数据加载、电子商务应用、自动及定时业务等小型实例」· Java 代码 · 共 55 行
JAVA
55 行
package ajax.upload;
import javax.servlet.http.HttpServletRequest;
public class UploadListener implements OutputStreamListener {
private HttpServletRequest request;
private long delay = 0;// 延迟时间,用于Debug(毫秒)
private int totalSize = 0;// 上传文件尺寸
private int totalBytesRead = 0;// 已读取字节数
// 构造方法,同时设置了请求和延迟时间
public UploadListener(HttpServletRequest request, long debugDelay) {
this.request = request;
this.delay = debugDelay;
totalSize = request.getContentLength();
}
// 上传开始
public void start() {
updateUploadInfo("start");
}
// 读取字节
public void bytesRead(int bytesRead) {
totalBytesRead = totalBytesRead + bytesRead;
updateUploadInfo("progress");
try {
Thread.sleep(delay);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
// 上传错误
public void error(String message) {
updateUploadInfo("error");
}
// 上传结束
public void done() {
updateUploadInfo("done");
}
// 更新上传信息
private void updateUploadInfo(String status) {
request.getSession().setAttribute("uploadInfo",
new UploadInfo(totalSize, totalBytesRead, status));
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?