Asa*_*Ali 1 c# network-shares uwp uwp-xaml
我尝试了多种方法将图像源设置为UWP应用程序中的网络目录。例如,我尝试过以下示例:
BitmapImage bitmap = new BitmapImage(new Uri(@"\\venera\Mariner\747\03_WEDNESDAY\003\00 Flat B -\APR3783216-MED-BLK TAPE-GB-Apron.jpg"));
UserImage.Source = bitmap;
Run Code Online (Sandbox Code Playgroud)
和
bitmap.UriSource = new Uri(@"\\venera\Mariner\747\03_WEDNESDAY\003\00 Flat B -\APR3783216-MED-BLK TAPE-GB-Apron.jpg", UriKind.Absolute);
UserImage.Source = bitmap;
Run Code Online (Sandbox Code Playgroud)
但是它们都不起作用。我E_NETWORK_ERROR遇到了以下错误,我已经从stackoverflow和其他资源中阅读了许多链接,但是没有任何适合我的东西。
我已经设置了所需的功能和声明。
我已经尝试过了,Windows.Storage.Pickers.FolderPicker但是找不到任何可以设置读取文件位置的文件夹。我不想打开文件夹选择器,我只想直接从网络的指定位置获取图像。
可能有人尝试将其与此票证相关联如何在Windows Universal App中显示网络文件夹或本地驱动器中的图像, 但这对我的任务没有帮助。
我也为我尝试过这些示例,但仍无法实现目标:https : //docs.microsoft.com/en-us/windows/uwp/files/quickstart-managing-folders-in-the-music-pictures和视频库
https://docs.microsoft.com/zh-cn/uwp/api/windows.ui.xaml.controls.image
我遇到System.UnauthorizedAccessException: 'Access is denied.错误
要在网络上的共享文件夹中设置.jpg文件,我们可以先获取StorageFile,然后使用SetSource方法将源设置为.jpg BitmapImage。要访问共享文件夹中的文件,我们需要在应用清单中声明一些功能。
通用命名约定(UNC)是Microsoft Windows中常用于访问共享网络文件夹的命名系统。有关更多信息,请参阅文件访问权限。
这是我的Package.appxmanifest:
<Applications>
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="UWP_how_to_show_image_from_a_network.App">
<uap:VisualElements DisplayName="UWP how to show image from a network" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png" Description="UWP how to show image from a network" BackgroundColor="transparent">
<uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png">
</uap:DefaultTile>
<uap:SplashScreen Image="Assets\SplashScreen.png" />
</uap:VisualElements>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="mypictest">
<uap:DisplayName>MyPicTest</uap:DisplayName>
<uap:SupportedFileTypes>
<uap:FileType>.jpg</uap:FileType>
</uap:SupportedFileTypes>
</uap:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClient" />
<Capability Name="privateNetworkClientServer" />
<Capability Name="internetClientServer" />
<uap:Capability Name="enterpriseAuthentication" />
</Capabilities>
Run Code Online (Sandbox Code Playgroud)
设置BitmapImage的代码:
StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(@"\\venera\Mariner\747\03_WEDNESDAY\003\00 Flat B -");
StorageFile file = await folder.GetFileAsync("APR3783216-MED-BLK TAPE-GB-Apron.jpg");
using (var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read)){
BitmapImage bitmap = new BitmapImage();
bitmap.SetSource(stream);
UserImage.Source = bitmap;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1299 次 |
| 最近记录: |