使用Retrofit从Url下载video

我正在使用Retrofit消费Web服务,迄今为止它的伟大。 但是,Retrofit提供了一种从URL下载video的方法吗?

我检查了这个链接,但@Streaming注释不再可用。 复古适合图片下载

Solutions Collecting From Web of "使用Retrofit从Url下载video"

是的,您可以使用从版本1.6.0开始的@Streaming注释。 确保您使用该版本。

正如更新日志中所指定的那样:New:在响应types上@Streaming将在传递之前跳过缓冲正文到一个字节[]。

 interface Api { @Get("path/to/your/resource") @Streaming Response getData(); } 

你应该可以像这样直接从InputStream进行stream式处理

 Response response = api.getData() InputStream is = response.getBody().in(); // stream your data directly from the InputStream! 

请记住,我的例子是简单同步的。

要完成@Miguel Lavigne这里的答案是如何使用Retrofit 2来做到这一点:

 interface Service { @GET("path/to/your/resource") @Streaming Call<ResponseBody> getData(); } Call<ResponseBody> call = service.getData(); try { InputStream is = call.execute().body().byteStream(); (...) } catch (IOException e) {...}