4

我正在开发 Windows Phone 8.1 Silverlight 应用程序,

我正在尝试从我的 SD 卡上传文档但收到此错误。

Access is denied. Exception from HRESULT: 0x80070005
System.UnauthorizedAccessException

我还在 WMAppManifest 文件中添加了功能“ID_CAP_REMOVABLE_STORAGE”。但是没有用。

请参阅下面的代码:

private async void UploadDocument()
{
  StorageFolder externalDevices = KnownFolders.RemovableDevices;

  StorageFolder sdCard = (await externalDevices.GetFoldersAsync()).FirstOrDefault();

  if (sdCard != null)
  {
      //An SD card is present and the sdCard variable now contains a reference to it
  }

  else
  {
      // No SD card is present.
  }
}
4

1 回答 1

4

WP8.1 还具有新的清单文件 - Package.appxmanifest - 确保您还在那里添加了功能 - Location。此外,您还必须添加文件类型关联,因为它是Silverlight

虽然(我不知道为什么)你必须第一次从代码中添加这个 - 右键单击​​ Package.appxmanifest文件 ->并在应用程序/扩展View code部分添加例如这样的:

<Extension Category="windows.fileTypeAssociation">
  <FileTypeAssociation Name="text">
    <DisplayName>Text file</DisplayName>
    <SupportedFileTypes>
      <FileType ContentType="text/file">.txt</FileType>
    </SupportedFileTypes>
  </FileTypeAssociation>
</Extension>

添加并保存后,您可以通过图形 UI添加/编辑FileTypeAssociations 。

于 2015-01-02T11:49:45.717 回答