Java-监视服务器中异步文件下载的进度

Java-监视服务器中异步文件下载的进度,java,file,rest,download,progress,Java,File,Rest,Download,Progress,我有一个服务器端应用程序,可以将文件从外部URL下载到服务器中。这发生在异步进程上。我需要一个Ajax调用来获取文件下载进度并在UI中报告 这可以通过在定义的时间间隔内将文件下载进度更新到数据库中来实现,AJAX调用可以从数据库中获取进度。但这将是DB资源密集型的 另一个选择(我不确定这是否有效)是读取正在下载的文件,将大小与总内容长度进行比较,以获得下载的百分比 有没有办法从异步后台进程访问OutputStream并返回upload% 应用程序的前端使用AngularJS,后端使用Spring

我有一个服务器端应用程序,可以将文件从外部URL下载到服务器中。这发生在异步进程上。我需要一个Ajax调用来获取文件下载进度并在UI中报告

这可以通过在定义的时间间隔内将文件下载进度更新到数据库中来实现,AJAX调用可以从数据库中获取进度。但这将是DB资源密集型的

另一个选择(我不确定这是否有效)是读取正在下载的文件,将大小与总内容长度进行比较,以获得下载的百分比

有没有办法从异步后台进程访问OutputStream并返回upload%

应用程序的前端使用AngularJS,后端使用Spring框架实现

文件下载代码是通用的:

// opens input stream from the HTTP connection
InputStream inputStream = httpConn.getInputStream();
String saveFilePath = saveDir + File.separator + fileName;

// opens an output stream to save into file
FileOutputStream outputStream = new FileOutputStream(saveFilePath);

int bytesRead = -1;
byte[] buffer = new byte[BUFFER_SIZE];
while ((bytesRead = inputStream.read(buffer)) != -1) {
    outputStream.write(buffer, 0, bytesRead);
}
outputStream.close();
inputStream.close();

你可以发布你的代码从下载文件吗url@SahilManchanda添加了文件下载代码的编辑。您可以发布从中下载文件的代码吗url@SahilManchanda添加了文件下载代码的编辑。