C# 如何将图像从应用程序复制到外部存储?

C# 如何将图像从应用程序复制到外部存储?,c#,android,unity3d,C#,Android,Unity3d,如何使用Unity Android将应用程序中的图像复制到外部存储?我想在我的应用程序中存储一个图像,当用户单击按钮时,它会显示在外部存储器中。我发现我可以使用StreamingAssets或persistentDataPath,但看起来我只能从StramingAssets读取文件,因此无法复制图像。我不明白我的映像在persistentDataPath中应该放在哪里,以及它是如何工作的。我读过文档,也看过论坛,但找不到也不明白怎么做。或者是否可以在android studio中执行此操作,然后

如何使用Unity Android将应用程序中的图像复制到外部存储?我想在我的应用程序中存储一个图像,当用户单击按钮时,它会显示在外部存储器中。我发现我可以使用StreamingAssets或persistentDataPath,但看起来我只能从StramingAssets读取文件,因此无法复制图像。我不明白我的映像在persistentDataPath中应该放在哪里,以及它是如何工作的。我读过文档,也看过论坛,但找不到也不明白怎么做。或者是否可以在android studio中执行此操作,然后将其作为插件或其他东西导入?

根据android的情况:

Application.persistentDataPath指向大多数设备上的/storage/simulated/0/Android/data//文件(一些较旧的手机可能指向SD卡上的位置,如果有的话),该路径使用Android.content.Context.getExternalFilesDir解析

您可以将PlayerSettings中的写入权限更改为External(SDCard),以启用对外部存储器的写入权限:

如何将应用程序中的图像复制到外部存储

简单的回答是:使用System.IO。关于这个主题有很多教程,这取决于你想做什么。这里有一个:

Sprite itemBGSprite=Resources.Load(“\u默认值/项目图像/\u背景”);
Texture2D itemBGTex=itemBGSprite.texture;
byte[]itembgbbytes=itemBGTex.EncodeToPNG();
File.writealBytes(格式化的活动路径+“/Item Images/Background.png”,itembgbbytes)