LauncherOptions.ContentType 属性

定义

获取或设置与表示网络上文件的 URI 关联的内容类型。

public:
 property Platform::String ^ ContentType { Platform::String ^ get(); void set(Platform::String ^ value); };
winrt::hstring ContentType();

void ContentType(winrt::hstring value);
public string ContentType { get; set; }
var string = launcherOptions.contentType;
launcherOptions.contentType = string;
Public Property ContentType As String

属性值

String

Platform::String

winrt::hstring

URI 的内容类型。

示例

调用 Launcher.LaunchUriAsync (Uri, LauncherOptions) 方法,并将 ContentType 设置为与要启动的 URI 关联的内容类型。

// The URI to launch
string uriToLaunch = @"http://www.contoso.com/SomeFile.docx";
var uri = new Uri(uriToLaunch);

async void DefaultLaunch()
{
   // Set the URI's content type
   var options = new Windows.System.LauncherOptions();
   options.ContentType = "application/vnd.ms-word.document.12";

   // Launch the URI with the content type
   var success = await Windows.System.Launcher.LaunchUriAsync(uri, options);

   if (success)
   {
      // URI launched
   }
   else
   {
      // URI launch failed
   }
}
// The URI to launch.
Windows::Foundation::Uri m_uri{ L"http://www.contoso.com/SomeFile.docx" };

Windows::Foundation::IAsyncAction MainPage::DefaultLaunch()
{
    // Set the URI's content type.
    Windows::System::LauncherOptions launcherOptions;
    launcherOptions.ContentType(L"application/vnd.ms-word.document.12");

    // Launch the URI.
    if (co_await Windows::System::Launcher::LaunchUriAsync(m_uri, launcherOptions))
    {
        // URI launched.
    }
    else
    {
        // URI launch failed.
    }
}
// The URI to launch.
auto uri = ref new Windows::Foundation::Uri("http://www.contoso.com/SomeFile.docx");

void MainPage::DefaultLaunch()
{
   // Set the URI's content type
   auto launchOptions = ref new Windows::System::LauncherOptions();
   launchOptions->ContentType = "application/vnd.ms-word.document.12";

   // Launch the URI with the content type
   concurrency::task<bool> launchUriOperation(Windows::System::Launcher::LaunchUriAsync(uri, launchOptions));
   launchUriOperation.then([](bool success)
   {
      if (success)
      {
         // URI launched
      }
      else
      {
         // URI launch failed
      }
   });
}
' The URI to launch
Dim uri As New Uri("http://www.contoso.com/SomeFile.docx")

async Sub DefaultLaunch()

   ' Set the URI's content type
   Dim options = Windows.System.LauncherOptions()
   options.ContentType = "application/vnd.ms-word.document.12"

   ' Launch the URI with the content type
   Dim success = await Windows.System.Launcher.LaunchUriAsync(uri, options)

   If success Then
      ' URI launched
   Else
      ' URI launch failed
   End If

End Sub

注解

只能在使用 Launcher.LaunchUriAsync (Uri、LauncherOptions) 启动 URI 时指定 ContentType。

ContentType 属性允许应用指定 URI 以及内容类型。 可以使用它将指向网络上资源的 URI 与文件类型(而不是 URI 方案名称)相关联。 Windows 将尝试使用从内容类型计算的文件类型来选择要启动的应用。 然后,向默认文件处理程序传递 URI 而不是文件路径。 例如,如果有指向 .docx 文件的 http:// URI,则单击它通常会打开浏览器并开始下载文件。 通过使用 ContentType 属性,可以跳过中间步骤并立即启动默认文件处理程序。 然后,文件处理程序可以使用 URI 中嵌入的路径直接访问网络上的文件。

如果处理程序无法直接在 URI 上工作,将代表他们下载文件的副本。

由于 ContentType 允许你直接启动文件处理程序,因此适用于文件启动的相同安全检查适用于指定了此选项的 URI 启动。 有关这些安全检查的更多详细信息 ,请参阅启动文件的默认应用

注意

仅当默认文件处理程序支持将 URI 传递到网络上的文件时,此功能才有效。 默认文件处理程序还必须能够向文件的服务器进行身份验证。 由于这些限制,仅当已全面测试应用与预期要处理正在启动的文件的应用之间的端到端方案时,才应使用 ContentType 属性

重要

此属性仅在桌面设备上实现。

适用于

另请参阅