当前位置: 首页 > 知识库问答 >
问题:

下载GIF文件并将其作为内容URI

丌官凯康
2023-03-14

我需要将GIF放到输入连接https://developer.android.com/guide/topics/text/image-keyboard.html

但是我有一个问题,因为我需要获取这个GIF的uri。我不能像文件一样加载它,并且只能得到它的路径。我怎么才能拿到URI呢?或者我需要用另一种方式来做这件事?

Glide.with(this)
            .asFile()
            .load(contentURL)
            .downloadOnly(object: SimpleTarget<File>(){
                override fun onResourceReady(resource: File, transition: Transition<in File>?) {}

共有1个答案

丁高峯
2023-03-14

我认为您应该使用downloadManager来实现,它具有setDestinationURI()

>

  • 帮助视频:https://youtu.be/smxglv7qeo0?t=642

    帮助阅读:https://medium.com/@aungkyawmyint_26195/downloading-file-properly-in-android-d8cc28d25aca

    记住首先生成映像文件URI:

    private fun getNewImageUri(fileName: String, folderName: String): Uri { //create new file
        val values = ContentValues().apply {
            put(MediaStore.MediaColumns.DISPLAY_NAME, fileName)             //file name
            put(MediaStore.MediaColumns.MIME_TYPE, "image/gif")             //file type
            put(MediaStore.MediaColumns.RELATIVE_PATH, "${Environment.DIRECTORY_DOWNLOAD}/$folderName")     //file location
        }
    
        return requireContext().contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)!!
    }
    

  •  类似资料:
    • 比如我发送了一个语音请求,请求格式如下 POST /chat/asr/temp HTTP/1.1 Host: 192.168.10.168:8093 Connection: keep-alive Content-Length: 338 Accept: application/json, text/plain, / User-Agent: Mozilla/5.0 (Windows NT 6.1; W

    • 问题内容: 我正在尝试从node.js服务器流式传输文件。服务器部分非常简单: 在我的角度控制器中,我正在尝试做这样的事情 在我看来,单击按钮时会调用此函数: 我查看了有关从Angular服务器中下载文件的其他答案,但没有找到适合我的方法。有一种常见的方法吗?看起来应该很简单。 问题答案: 服务返回一个具有两个回调方法的,如下所示。

    • 问题内容: Python 是否有任何方法可以将整个页面及其内容( 图像,css )下载到给定URL的本地文件夹中。并更新本地html文件以选择本地内容。 问题答案: 您可以使用该模块下载单个URL,但这只会返回数据。它不会解析HTML并自动下载CSS文件和图像等内容。 如果要下载“整个”页面,则需要解析HTML并找到需要下载的其他内容。您可以使用Beautiful Soup之类的内容 来解析检索到

    • 问题内容: 我的Unix机器上有文件test.json,其数据如下 现在,我正在编写 REST jersey客户端 以读取test.json并显示如下输出 如何阅读test.json并显示其内容? 问题答案: 对于: 对于: 您的数据将在对象内部

    • 可从PlayStation®Store购买游戏、下载游戏最新的免费体验版或宣传影片。 若要使用(PS Store),需先注册PlayStation®Network账号。即使未使用PS Vita注册PlayStation®Network也可阅览PlayStation®Store。下载内容时需先注册,请遵循显示的画面注册。 PlayStation®Network和PlayStation®Store的提

    • 问题内容: 如何加载Spring资源内容并将其用于设置bean属性或将其作为参数构造函数传递? 该资源包含自由文本。 问题答案: 此解决方案需要Apache Commons IO。 @Parvez建议的另一种没有Apache Commons IO依赖性的解决方案是