我有一个将文件上传到 REST 服务的 Java 桌面客户端应用程序。
对 REST 服务的所有调用都使用 Spring RestTemplate 类处理。
我希望实现一个进度条并取消功能,因为正在上传的文件可能非常大。
我一直在寻找一种在网络上实现此功能的方法,但没有运气。
我尝试实现自己的 ResourceHttpMessageConverter 并替换 writeInternal() 方法,但是在实际发布请求之前,似乎在某种缓冲操作期间调用了此方法(因此在发送之前一次性读取流)。
我什至尝试过覆盖 CommonsClientHttpRequestFactory.createRequest() 方法并使用特殊的 writeRequest() 方法实现我自己的 RequestEntity 类,但是会出现同样的问题(在实际发送帖子之前已读取所有流)。
我找错地方了吗?有没有人做过类似的事情。
我在网上读到的很多关于实现进度条的内容都谈到了关闭上传,然后使用单独的 AJAX 请求轮询 Web 服务器的进度,这似乎是一种奇怪的方式。
非常感谢任何帮助或提示。