gpt4 book ai didi

xamarin.forms - 如何以 xamarin 形式将文件写入用户可以找到的内部存储

转载 作者:行者123 更新时间:2023-12-03 08:36:32 24 4
gpt4 key购买 nike

我一直在努力将文件写入内部存储。我想将文件保存到用户可以看到它并读取文件(例如 Mydocuments)的位置,或者通过为我的应用程序创建一个单独的文件夹(如 Whatsapp 那样)将文件保存到内部存储中。我也希望在 iOS 中实现相同的场景。

我该怎么做?我已经尝试过 Xamarin.Essentials 中的文件系统助手,也使用了 Environment.SpecialFolder 但似乎没有任何效果。我只是想保存一个简单的文本文件。

我尝试过的链接..

https://learn.microsoft.com/en-us/xamarin/android/platform/files/

https://learn.microsoft.com/en-us/xamarin/essentials/file-system-helpers?context=xamarin%2Fandroid&tabs=android

注意:我对外部存储不感兴趣。

最佳答案

您想将数据存储在这些文件夹中吗?

enter image description here

如果是这样,对于android,我做了一个dependencyService来实现它。

例如,我想将 .txt 文件写入 Download 文件夹。我在 PCL 中创建接口(interface)。

   public interface IWirteService
{
void wirteFile(string FileName);
}

在pcl Button点击事件中执行。

  private void Button_Clicked(object sender, EventArgs e)
{
DependencyService.Get<IWirteService>().wirteFile("myfile.txt");
}

然后在android平台上实现了。

[assembly: Xamarin.Forms.Dependency(typeof(WirteFileService))]
namespace XamarinFirebase.Droid
{
public class WirteFileService:IWirteService
{


void IWirteService.wirteFile(string FileName)
{

string text = "GFG is a CS portal.";
byte[] data = Encoding.ASCII.GetBytes(text);

string DownloadsPath = Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, Android.OS.Environment.DirectoryDownloads);

string filePath = Path.Combine(DownloadsPath, FileName);
File.WriteAllBytes(filePath, data);
}
}
}

不要忘记添加以下权限并获得运行时权限。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

这是正在运行的 GIF。

enter image description here

关于xamarin.forms - 如何以 xamarin 形式将文件写入用户可以找到的内部存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63740083/

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