【发布时间】:2022-11-12 04:54:33
【问题描述】:
我正在尝试使用 uwp 在下载文件夹中创建一个文件夹,我想在这个文件夹中创建 pdf 文件。这是应该发生的事情:第一次单击按钮时,将创建文件夹以及对应于客户端的 pdf 文件。在单击第二个按钮时,必须检查该文件夹是否存在,因此只应在其中创建 pdf 文件。问题是我的代码,没有检查文件夹存在的部分,在第一次点击时工作,但在第二次点击时不起作用,因为我得到一个例外,即文件夹已经存在。但是对于“if”部分,它根本不起作用。就像什么都没有被创造。这是我的代码:
[assembly: Dependency(typeof(getpathUWP))]
namespace ALNahrainAlphaApp.UWP
{
public class getpathUWP : path
{
public Task< string> get_path(string foldername, string filename, byte[] ar)
{
Task<string> t = Task.Run(() => pathtoget(foldername,filename,ar));
return t;
}
async private Task<string> pathtoget(string foldername, string filename, byte[] ar )
{
// StorageFolder newFolder = null;
if (!File.Exists(@"C:\Users\ALNOOR\Downloads\d98cfcb0-e3cb-48e3-b720-fd9ace0ca7e8_htzz2mrv9gx22!App\alnahrainfiles"))
{
StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(@"C:\Users\ALNOOR\Downloads\d98cfcb0-e3cb-48e3-b720-fd9ace0ca7e8_htzz2mrv9gx22!App\alnahrainfiles");
StorageFile file = await folder.CreateFileAsync(filename);
Stream stream = await file.OpenStreamForWriteAsync();
stream.Write(ar, 0, ar.Length);
stream.Flush();
}
else
{
StorageFolder newFolder = await DownloadsFolder.CreateFolderAsync(foldername);
StorageFile file = await newFolder.CreateFileAsync(filename);
Stream stream = await file.OpenStreamForWriteAsync();
stream.Write(ar, 0, ar.Length);
stream.Flush();
}
return "";
}
}
}
请注意,我正在使用依赖服务。我尝试了其他方法来检查该文件夹是否存在,但没有任何效果。我究竟做错了什么?
【问题讨论】:
标签: xamarin.forms uwp storagefile storagefolder