Доступ к файлу запрещен, исключение - PullRequest
0 голосов
/ 10 апреля 2019

Я написал простой код на c # для публикации аудиофайла в формате HttpMultipartForm, и при попытке доступа к файлу на моем жестком диске выдается исключение, что доступ к пути запрещен.

using(var httpClient = new HttpClient())
{

   using(var request = new HttpRequestMessage(new HttpMethod("POST"),"https://www.iotype.com/api/recognize/file"))
   {

      multipartContent.Add(new StringContent("MyToken"), "token");
      multipartContent.Add(new ByteArrayContent(File.ReadAllBytes("C:\\audio.mp3")), "audio", Path.GetFileName("AUDIO_FILE.mp3"));

      request.Content = multipartContent;

      var response = await httpClient.SendAsync(request);
      txtStatus.Text = response.Content.ToString();

    }
 }

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

В приложениях UWP существует множество ограничений, поскольку их приложения встраиваются в окна, навязанные по причинам архитектуры, но также и из соображений безопасности (Изоляция домена приложения) , это делаетНе исключайте, что он существует Несколько способов управления информацией (чтение, запись) с использованием Windows API в выделенном месте приложения.

Другое хранилище для приложения UWP:

  • Локальное хранилище:

    It's a default file system for application and it's identified by LocalFolder Class .

  • Роуминг-хранилище:

    Has the same fearture than The Local Storage adding to that synchronization Data with windows Devices , identified by RoamingSettings Class.

  • Временное хранилище:

    As his name indicates It’s used mainly for caching scenarios .

0 голосов
/ 14 апреля 2019

Приложения UWP ограничены с точки зрения каталогов и файлов, к которым они могут получить доступ.Самый простой способ преодоления ограничений - это использовать типы WinRT в пространстве имен Windows.Storage, двумя основными классами которых являются StorageFolder и StorageFile. В среде выполнения Windows для Windows 8 и 8.1 нельзя использовать классы FileStream или Directory / File.совсем.Это затрудняло написание переносимых библиотек классов, поэтому это ограничение было ослаблено в UWP для Windows 10, хотя ограничения на доступ к каталогам и файлам по-прежнему применяются. Поэтому невозможно использовать класс файлов в приложении UWP.

...