我在C#中编写了一个前台应用程序,它从不同的服务器收集图像并将它们存储在SD卡,USB记忆棒或磁盘上。
在应用程序清单中,我设置了读/写文件类型和访问权限 可移动驱动器。
如果我使用USB记忆棒存储数据,该应用程序正在运行,或
如果我使用系统SD卡。但如果我使用外部硬盘存储数据,则setNextEvent
会失败。为什么呢?
路径在两种情况下都是" E:\"。在那条路径中我创建子目录, 应该在哪里创建文件:
StorageFolder.GetFolderFromPathAsync(DirName)
外部驱动器的路径和存储我得到了这样的方式:
public async void GetWebImage(String urlStr, String filename)
{
try
{
try
{
String DirName = Path.GetDirectoryName(filename);
String FileName = Path.GetFileName(filename);
// Folder Struktur erzeugen
var rootFolder = await StorageFolder.GetFolderFromPathAsync(DirName);
var http_file = await rootFolder.CreateFileAsync(FileName, CreationCollisionOption.ReplaceExisting);
HttpWebRequest httpWebRequest = HttpWebRequest.CreateHttp(urlStr);
HttpWebResponse response = (HttpWebResponse)await httpWebRequest.GetResponseAsync();
Stream resStream = response.GetResponseStream();
using (var stream = await http_file.OpenAsync(FileAccessMode.ReadWrite))
{
await resStream.CopyToAsync(stream.AsStreamForWrite());
}
response.Dispose();
}
catch (Exception ex)//any exceptions happend while saving the picture
{
String s = ex.ToString();
}
}
catch (Exception ex)
{
String s = ex.ToString();
}
}
如果我直接通过" ExternalStorageFolder"我没有得到拒绝访问#34; 但如果我使用" GetFolderFromPathAsync(DirName),这会失败......为什么?