Http 使用Unirest下载大文件时支持用户请求的取消
我正在尝试使用Unirest下载(可能很大)文件,我正在努力找到支持用户请求取消下载的最佳实践方式(除了进度监控和错误处理) 似乎没有办法将用户请求的取消(即用户按下“取消”按钮)传达给Unirest,从而中止正在运行的传输、关闭流和文件句柄、清理资源等 我查过了,但在地图上什么也没找到 我以前尝试过使用Http 使用Unirest下载大文件时支持用户请求的取消,http,get,cancellation,unirest,Http,Get,Cancellation,Unirest,我正在尝试使用Unirest下载(可能很大)文件,我正在努力找到支持用户请求取消下载的最佳实践方式(除了进度监控和错误处理) 似乎没有办法将用户请求的取消(即用户按下“取消”按钮)传达给Unirest,从而中止正在运行的传输、关闭流和文件句柄、清理资源等 我查过了,但在地图上什么也没找到 我以前尝试过使用asObject/asObjectAsync,这导致整个传输在写入文件之前都在主内存中结束(因此在大量下载时失败) getRequest .downloadMonitor((__1, __2
asObject
/asObjectAsync
,这导致整个传输在写入文件之前都在主内存中结束(因此在大量下载时失败)
getRequest
.downloadMonitor((__1, __2, bytesWritten, bytesTotal) -> {
... // signal progress (elided)
})
.asFile(somePath)
.ifFailure(response -> {
someExternalErrorHandler.reportError(response.getStatus(), response::getStatusText);
})