Raspberry pi Raspberry Windows 10外部U盘和外部硬盘之间的差异

Raspberry pi Raspberry Windows 10外部U盘和外部硬盘之间的差异,raspberry-pi,windows-10-iot-core,Raspberry Pi,Windows 10 Iot Core,我用C#编写了一个前台应用程序,它从不同的服务器收集图像并存储在SD卡、U盘或磁盘上 在应用程序清单中,我设置了读/写文件类型和对 可移动驱动器 如果我使用U盘存储数据,或者 如果我使用系统SD卡。但是如果我使用外部硬盘来存储数据,则StorageFolder.GetFolderFromPathAsync(DirName)会失败。为什么? 在这两种情况下,路径都是“E:\”。在该路径中,我创建子目录, 创建文件的位置: public async void GetWebImage(Strin

我用C#编写了一个前台应用程序,它从不同的服务器收集图像并存储在SD卡、U盘或磁盘上

在应用程序清单中,我设置了读/写文件类型和对 可移动驱动器

如果我使用U盘存储数据,或者 如果我使用系统SD卡。但是如果我使用外部硬盘来存储数据,则
StorageFolder.GetFolderFromPathAsync(DirName)
会失败。为什么?

在这两种情况下,路径都是“E:\”。在该路径中,我创建子目录, 创建文件的位置:

   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();
        }
    }
我通过以下方式获得外部驱动器的路径和存储:

// Get Path to first external Drive, otherwise "ExternalStorageFolder==null"
    public StorageFolder ExternalStorageFolder;
    private async void GetFirstExternalStoragePath()
    {
        try
        {
            StorageFolder externalDevices;
            IReadOnlyList<StorageFolder> externalDrives;

            externalDevices = Windows.Storage.KnownFolders.RemovableDevices;
            externalDrives = await externalDevices.GetFoldersAsync();
            ExternalStorageFolder = externalDrives[0];

            TxtStatus.Text = "External Drive:"+ ExternalStorageFolder.Path + " found.";
        }
        catch (Exception ex)
        {
            String s = "No external Drive found\n" + ex.ToString();

            TxtStatus.Text = s;
            ExternalStorageFolder = null;
        }
    }
//获取第一个外部驱动器的路径,否则“ExternalStorageFolder==null”
公共存储文件夹外部存储文件夹;
私有异步void GetFirstExternalStoragePath()
{
尝试
{
存储文件夹外部设备;
IReadOnlyList外部驱动器;
externalDevices=Windows.Storage.KnownFolders.RemovableDevices;
externalDrives=等待externalDevices.GetFoldersAsync();
ExternalStorageFolder=externalDrives[0];
TxtStatus.Text=“外部驱动器:”+ExternalStorageFolder.Path+“已找到。”;
}
捕获(例外情况除外)
{
字符串s=“未找到外部驱动器\n”+例如ToString();
TxtStatus.Text=s;
ExternalStorageFolder=null;
}
}
如果我直接通过“ExternalStorageFolder”访问,我不会得到“拒绝访问”
但是如果我使用“GetFolderFromPathAsync(DirName)”,这会失败…为什么?

您是否尝试根据添加一些功能?抱歉,我不知道您的意思是什么?问题是StorageFolder.GetFolderFromPathAsync()失败。。我的意思是,您可以在访问通用命名约定(UNC)文件夹()时尝试添加一些网络功能。