目前 我正在存储我的文件(图像/视频):
File directoryToStore;
directoryToStore = getBaseContext().getExternalFilesDir("MyImages");
这将返回此路径:
/storage/emulated/0/Android/data/pacageName/files/MyImages/
现在,我想将文件存储在根目录/storage/emulated/0/MyImages/
中。我试过这样做:
File directoryToStore;
directoryToStore = new File(Environment.getExternalStorageDirectory(), "MyImages");
在Marshmallow之前的设备上运行时效果非常好,但在Marshmallow中找不到文件。
我的问题
我应该如何/可以在根目录中存储文件,以便在所有API中找到该文件?
答案 0 :(得分:0)
首先,请确保您的Android Manifest文件中有权限,因为您正试图将文件保存到设备的外部存储中。
config.Routes.MapHttpRoute(
name: "Api",
routeTemplate: "{namespace}/api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
其次,检查是否为您的应用程序授予了存储权限(当您在Marshmallow或更高版本的OS版本设备上执行时)。
最后,确保是否有名为“MyImages”的目录并检查它是否为chmod。如果目录不存在,请创建它(mkdir()将在您的示例中创建目录),然后尝试再次保存文件。