Glide downloadOnly()作为GIF文件

时间:2018-02-10 03:47:14

标签: android gif android-glide

public void downloadImage(final ImageListener imageListener) {
    if (post != null && getContext() != null) {
        FutureTarget<File> future = Glide.with(getContext())
                .downloadOnly()
                .load(post.getPostImage().getUrl())
                .submit(500, 500);

        new GetFileTask(future, imageListener).execute();
    }
}

public static class GetFileTask extends AsyncTask<Void, Void, Void> {

    private ImageListener imageListener;
    private FutureTarget<File> futureTarget;

    public GetFileTask(FutureTarget<File> futureTarget, ImageListener imageListener) {
        this.imageListener = imageListener;
        this.futureTarget = futureTarget;
    }

    @Override protected Void doInBackground(Void... params) {
        File file = null;
        try {
            file = futureTarget.get();
        } catch (Exception e) {
            e.printStackTrace();
            imageListener.onFailure();
        }
        if (file != null) {
            imageListener.onSaveSuccessful(Uri.parse(file.toURI().toString()));
        } else {
            imageListener.onFailure();
        }
        return null;
    }
}

目前这段代码效果很好,它会下载gif,但我唯一的问题是文件扩展名不是.gif,它是<0。

将文件从设备中拉到我的计算机上,然后从.0重命名为.gif时,它可以完美地播放gif。

asGif()返回一个RequestBuilder,不推荐使用downloadOnly ..有没有人知道如何使用.gif文件扩展名请求保存此文件?

0 个答案:

没有答案