我有一个Java桌面客户端应用程序,可以上传文件到REST服务。
所有对REST服务的调用都使用Spring RestTemplate类处理。
我希望实现进度条和取消功能,因为上传的文件可能很大。
我一直在寻找在Web上实现这个功能的方法,但一直没有成功。
我尝试了实现自己的ResourceHttpMessageConverter并替换writeInternal()方法,但是在实际发送请求之前,此方法似乎在某种缓冲操作期间被调用(因此在发送之前流已经全部读取)。
我甚至尝试重写CommonsClientHttpRequestFactory.createRequest()方法,并使用特殊的writeRequest()方法实现自己的RequestEntity类,但是同样的问题仍然存在(在发送post请求之前流已经全部读取)。
我是不是看错了地方?是否有人做过类似的事情。
网络上关于实现进度条的许多文章都谈到启动上传,然后使用单独的AJAX请求轮询Web服务器以获取进度,这似乎是一种奇怪的方式。
非常感谢任何帮助或提示。
所有对REST服务的调用都使用Spring RestTemplate类处理。
我希望实现进度条和取消功能,因为上传的文件可能很大。
我一直在寻找在Web上实现这个功能的方法,但一直没有成功。
我尝试了实现自己的ResourceHttpMessageConverter并替换writeInternal()方法,但是在实际发送请求之前,此方法似乎在某种缓冲操作期间被调用(因此在发送之前流已经全部读取)。
我甚至尝试重写CommonsClientHttpRequestFactory.createRequest()方法,并使用特殊的writeRequest()方法实现自己的RequestEntity类,但是同样的问题仍然存在(在发送post请求之前流已经全部读取)。
我是不是看错了地方?是否有人做过类似的事情。
网络上关于实现进度条的许多文章都谈到启动上传,然后使用单独的AJAX请求轮询Web服务器以获取进度,这似乎是一种奇怪的方式。
非常感谢任何帮助或提示。