Glide 下载Gif文件

之前做了一个类似朋友圈里的查看大图功能,现在也要加上保存功能。

保存图片有很多思路,可以从imageview里提取bitmap,可以用url下载到本地。imageview提取的话,gif图就会变成一张静态图。

我的图片使用glide加载的,glide自带缓存,如果再次用glide下载图片,则会直接读取缓存,节省时间。这次用的原理就是在点击保存图片的时候,将glide缓存文件保存到Pictures文件夹。

/**
 * Created by csonezp on 16-1-12.
 */
public class SaveImageTask extends AsyncTask<String, Void, File> {
    private
    final Context context;

    public SaveImageTask(Context context) {
        this.context = context;
    }

    @Override
    protected File doInBackground(String... params) {
        String url = params[0]; // should be easy to extend to share multiple images at once
        try {
            return Glide
                    .with(context)
                    .load(url)
                    .downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
                    .get() // needs to be called on background thread
                    ;
        } catch (Exception ex) {
            return null;
        }
    }

    @Override
    protected void onPostExecute(File result) {
        if (result == null) {
            return;
        }
        String path = result.getPath();
        FileUtil.copyFile(path, FileUtil.getPubAlbumDir().getPath() + UUID.randomUUID().toString() + ".gif");
        GlobalUtil.shortToast(context, context.getString(R.string.save_success));
    }
}
时间: 2024-10-12 04:26:58

Glide 下载Gif文件的相关文章

前端下载excel文件功能的三种方法

1 从后端接收json数据,前端处理生成excel下载 JsonExportExcel的github地址:https://github.com/cuikangjie/JsonExportExcel 这种方式比较适用于该数据需要能够导出下载并且同时要展现在页面的场景 2 通过form表单接收文件 如果后端已经处理成了excel,就不需要前端在处理生成,但是Ajax能够返回的数据格式只能为html,script,json,xml,不能直接接受excel文件,如果你直接通过ajax去获取文件就会报错.

下载大文件时OutofMemoryException

有一个大文件下载的问题,这两天查了一下,主要原因有两个: 发送的Get请求中,没有设置HttpCompletionOption这个参数,当下载大文件的时候,会等到response body中的数据全部加载完才开始下载.现在已经改成了HttpCompletionOption.ResponseHeadersRead,这样只要head加载完就可以开始下载 下载的时候使用FileStreamResult File(Stream fileStream, string contentType, string

PSFTP自动登录SFTP服务器,批量自动上传上传下载指定文件

1.putty官方下载 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 下载安装版  putty-0.67-installer.msi 2.安装完成之后,打开putty安装目录,找到PSFTP.EXE,复制到新的文件夹 D:/Download 3.双击打开pstftp.exe,连接Linux服务器 4. 设置下载到windows的本地目录 5.psftp常用命令(操作服务端的文件则是Linux常用命令) lcd+路径

IIS 服务器支持下载apk 文件

前不久,在本地IIS文件下部署一个网站,可以下载apk文件,就是测试apk应用升级,发现访问不能下载,原因是IIS没有配置对这种apk文件的处理程序. 解决方案如下所示: 1.打开IIS, 找到MIME选项 2.点击右边的添加在弹出的添加窗口里的文件扩展名输入:APK 在MIME类型输入:application/vnd.android.package-archive

路由器OpenWrt如何脱机(离线)下载BT文件

路由器OpenWrt如何脱机(离线)下载BT文件 1.首先到如下网址下载OpenWrt固件(确保为路由器正确型号). http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-wzr-hp-g450h-squashfs-sysupgrade.bin 2.路由器升级完毕后用telnet输入192.168.1.1(默认地址)连接到路由器,默认没有密码,输入“passwd”修改密码,修改成功后输入“exit”退

下载服务器文件到本地

1,使用CRT连接服务器 2,连接SFTP 3,将要下载的文件复制到当前用户的  "家" 目录下 4,使用get下载文件

PHP下载远程文件的3种方法以及性能考虑

今天在做导出Excel的时候,总是要测试导出的Excel文件,频繁的下载和打开,很麻烦 就想着写段代码一气呵成  服务端导出Excel==>下载Excel文件到本地==>并打开的操作. 这里摘出PHP下载远端文件的方案,以备忘.其中第3种方法考虑到文件过大时的性能问题. 3种方案: -rw-rw-r-- 1 liuyuan liuyuan 470 Feb 20 18:12 test1_fopen.php-rw-rw-r-- 1 liuyuan liuyuan 541 Feb 20 18:06

报表XML导出rtf格式,结果在浏览器中打开XML文件。用360浏览器下载rtf文件打开后出现Authentication failed 问题

报表XML导出rtf格式,结果在浏览器中打开XML文件.用360浏览器下载rtf文件打开后出现Authentication failed 问题 直接上问题图: 问题描述:在Oracle EBS中执行"资源事务处理 XML"请求,选择输出rtf格式,完成后查看输出,却在浏览器中打开了XML文件.        提示:需要检查一下是否有对应的模板文件和模板定义有效时间.        解决方案:1. 查看日志. 从中可以看出出错原因,以及模板代码.2. 添加Oracle XML Publi

php大力力 [029节] 做PHP项目如何下载js文件:使用腾讯浏览器把网上案例页面存储到本地

php大力力 [029节] 做PHP项目如何下载js文件:使用腾讯浏览器把网上案例页面存储到本地 yeah,搞定啦 php大力力 [029节] 做PHP项目如何下载js文件:使用腾讯浏览器把网上案例页面存储到本地