【发布时间】:2022-11-18 11:06:17
【问题描述】:
私有异步任务 DoDownloadFile(ChatMessageListRefDataModel chatMessage) {
var status = await Permissions.RequestAsync<Permissions.StorageWrite>();
if(status == PermissionStatus.Granted)
{
await HttpRequestHelper.DownloadFile(chatMessage.FileUrl, chatMessage.FileName);
}
}
public static async Task DownloadFile(string url, string fileName) {
var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), fileName);
using (var downloadStream = await client.GetStreamAsync(url))
{
using (var memoryStream = new MemoryStream())
{
await downloadStream.CopyToAsync(memoryStream);
using(FileStream file = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None))
{
byte[] bytes = new byte[memoryStream.Length];
memoryStream.Read(bytes, 0, (int)memoryStream.Length);
file.Write(bytes, 0, bytes.Length);
memoryStream.Close();
}
}
}
该代码不会产生任何错误,只是在手机目录中找不到该文件。可能出了什么问题。谢谢。
【问题讨论】:
-
你认为文件在哪里应该被写到?
标签: c# xamarin.forms xamarin.android file-handling