java - 如何使用公共(public)进度更新到多用户环境?

标签 java progress apache-commons-fileupload

现在我正在使用 servlet 上传文件并通过实现 ProgressListener 类更新进度。实现 ProgressListener 静态变量的类。我该如何将变量移动到一个对象并使其对于每个用户都是唯一的。

实现 ProgressListener 的类:

package com.pricar.uploadlistener.pack;

import java.text.NumberFormat;

import org.apache.commons.fileupload.ProgressListener;

public class FileUploadProgressListener implements ProgressListener {

public FileUploadProgressListener() {
}
private static long bytesRead;
private static long totalBytes;
public void getFileUploadStatus() {

    String per = NumberFormat.getPercentInstance().format( (double) bytesRead / (double) totalBytes );
    String statusStr = (per.substring(0, per.length() - 1));
    int status = Integer.parseInt(statusStr);
}

/* (non-Javadoc)
 * @see org.apache.commons.fileupload.ProgressListener#update(long, long, int)
 */
public void update(long pBytesRead, long pContentLength, int pItems) {

    bytesRead = pBytesRead;
    totalBytes = pContentLength;

    }
}

任何建议或链接将更加感激!!

谢谢!!

最佳答案

我会将 bytesRead 和totalBytes 设置为本地属性,因此 FileUploadProgressListener 的每个实例都有自己的数据。然后将该实例存储在 session 变量中,以便每个用户都有自己的实例。

关于java - 如何使用公共(public)进度更新到多用户环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4210309/

相关文章:

Java代码重构: multiple instanceof operator usages

dart - 显示angulardart进展的最佳实践是什么?

php exec 如何查看进度

jsp - 使用 ServletFileUpload 的 parseRequest 上传文件?

java - 为什么在使用 DiskFileItem 时出现不确定性文件删除错误?

java - 如何在捕获异常后保持代码运行(Java)

java - Java 安全管理器的使用

java - Spring 响应中 JSON 中位置 0 处出现意外标记 S

vb.net - SSH.NET 的 SFTP 进度

java - 使用 multipart 发送附加数据