gpt4 book ai didi

android - 如何从原始资源中获取 uri

转载 作者:行者123 更新时间:2023-11-30 00:24:04 38 4
gpt4 key购买 nike

我的原始文件夹中有一个 .txt 文件。我想获取文件的 uri 并创建一个新文件以上传到 firebase。

这个想法很简单

  1. 从我的 res/raw 资源中获取 txt 文件
  2. 将其上传到 Firebase 存储

我做到了

 String path = "android.resource://" + getPackageName() + "/" + "raw/grupos.txt";

Uri file = Uri.fromFile(new File(path));

但是当我打电话

riversRef.putFile(file)
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {....

说文件无效

LOGCAT

java.io.FileNotFoundException: /android.resource:/com.example.usuario.ottasubirarchivos/raw/grupos.txt: open failed: ENOENT (No such file or directory)

我不知道我是否需要获取资源文件的路径,在内部存储中创建一个新文件,获取该文件并将其上传到 firebase,或者使用流...我不知道如何处理这个...谢谢

最佳答案

你可以使用这个:

public class UriUtils {

public static Uri getUriToResource(@NonNull Context context, @AnyRes int resId) throws Resources.NotFoundException {
Resources res = context.getResources();

Uri resUri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE +
"://" + res.getResourcePackageName(resId)
+ '/' + res.getResourceTypeName(resId)
+ '/' + res.getResourceEntryName(resId));
return resUri;
}
}

关于android - 如何从原始资源中获取 uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45722227/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com