簡體   English   中英

拒絕訪問 SD 卡 - UWP

[英]Access to SD card denied - UWP

我正在嘗試使用 UWP 訪問 SD 卡。 我在 Windows 10 上。我已經進入 Package.appxmanifest ...

在功能下,我檢查了可移動存儲

在聲明下,我添加了一個文件類型關聯。 名稱為“txt”,文件類型為“.txt”。 相關部分...

  <Extensions>
    <uap:Extension Category="windows.fileTypeAssociation">
      <uap:FileTypeAssociation Name="txt">
        <uap:DisplayName>text</uap:DisplayName>
        <uap:SupportedFileTypes>
          <uap:FileType>.txt</uap:FileType>
        </uap:SupportedFileTypes>
      </uap:FileTypeAssociation>
    </uap:Extension>
  </Extensions>

我創建文本文件的代碼......

    string fileName = @"D:\test.txt";

    using (FileStream fs = File.Create(fileName))
    {   
        Byte[] text = new UTF8Encoding(true).GetBytes("testing");
        fs.Write(text, 0, text.Length);
    }

結果每次都是“訪問路徑'D:\\text.txt'被拒絕”

我能夠手動創建文件並將其復制到此目錄。 那么,為什么我不能使用 UWP 創建文件? 我遵守了所有的規則。 我錯過了什么嗎?

不能使用File.Create()訪問受限 UWP 應用中的文件。 您需要使用Windows.Storage命名空間中的功能。

private async void Test()
{
    string filePath = @"D:\";
    string fileName = @"Test.txt";

    // get StorageFile object
    StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(filePath);
    StorageFile file = await folder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);

    // Open Stream and Write content
    using (Stream stream = await file.OpenStreamForWriteAsync())
    {
        Byte[] text = new UTF8Encoding(true).GetBytes("testing");
        await stream.WriteAsync(text, 0, text.Length);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM