Android 如何使用改型2获得文件大小。我试过返回-1?

Android 如何使用改型2获得文件大小。我试过返回-1?,android,retrofit2,okhttp,retrofit2.6,Android,Retrofit2,Okhttp,Retrofit2.6,我想构建一个应用程序,用进度条下载文件,并试图从服务器获取文件大小。使用翻新2库时,但无法获取总文件大小。返回-1,我在build:gradle:3.0.1上测试了它的工作,但没有在build:gradle:3.5.3 这里是我的代码 ApiService apiService = RetroClient.getApiService(); Call<ResponseBody> call = apiService.downloadFile("fsharpapps/fon

我想构建一个应用程序,用进度条下载文件,并试图从服务器获取文件大小。使用翻新2库时,但无法获取总文件大小。返回-1,我在
build:gradle:3.0.1
上测试了它的工作,但没有在
build:gradle:3.5.3

这里是我的代码

    ApiService apiService = RetroClient.getApiService();
    Call<ResponseBody> call = apiService.downloadFile("fsharpapps/fonts/customFont.ttf");
    call.enqueue(new Callback<ResponseBody>() {
        @Override
        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
            if (response.isSuccessful()) {
                    if (response.body() != null) {
                        AppUtil.mToast(DownloadService.this, "Downloading...");
                        boolean isDownload = writeResponseBodyToDisk(response.body());
                        if (isDownload) 
                            AppUtil.mToast(DownloadService.this, "file size" + response.body().contentLength());
                      }}
        }
        @Override
        public void onFailure(Call<ResponseBody> call, Throwable t) {
        }
    });
// output is file size -1

在界面中使用标题

public interface RetrofitInterface {
    @Headers({"Accept-Encoding: *","Content-Type: font/ttf"})
    @Streaming
    @GET("yourfile.ttf")
    Call<ResponseBody> downloadFile();
}
公共接口{
@标题({“接受编码:”,“内容类型:font/ttf”})
@流式
@获取(“yourfile.ttf”)
调用downloadFile();
}

i测试HttpURLConnection con=(HttpURLConnection)myUrl.openConnection();setRequestProperty(“接受编码”、“标识”);long fileSize=con.getContentLength();//它还添加了@Streaming
public interface RetrofitInterface {
    @Headers({"Accept-Encoding: *","Content-Type: font/ttf"})
    @Streaming
    @GET("yourfile.ttf")
    Call<ResponseBody> downloadFile();
}