首页 > 其他分享 >.NET MAUI应用中使用资源文件/图像

.NET MAUI应用中使用资源文件/图像

时间:2022-10-25 09:45:39浏览次数:73  
标签:wwwroot await dataResourceText reader 图像 MAUI using NET txt

官方文档:https://learn.microsoft.com/zh-cn/aspnet/core/blazor/hybrid/static-files?view=aspnetcore-6.0
在 .NET MAUI 应用中,使用 MauiAsset 生成操作的原始资源和 .NET MAUI file system helpers 用于静态资源。
将文件放入应用的 Resources/Raw 文件夹中。例:Resources/Raw/Data.txt。
调用 Microsoft.Maui.Storage.FileSystem.OpenAppPackageFileAsync 获取资源的 Stream。
使用 StreamReader 读取 Stream。
调用 StreamReader.ReadToEndAsync 以读取文件。
razor
@page "/"
@using System.IO
@using Microsoft.Extensions.Logging
@using Microsoft.Maui.Storage
@inject ILogger<StaticAssetExample> Logger
@code {
public string dataResourceText = "Loading resource ...";

protected override async Task OnInitializedAsync()
{
try
{
using var stream = await FileSystem.OpenAppPackageFileAsync("Data.txt");
using var reader = new StreamReader(stream);
dataResourceText = await reader.ReadToEndAsync();
}
catch (FileNotFoundException ex)
{
dataResourceText = "Data file not found.";
Logger.LogError(ex, "'Resource/Raw/Data.txt' not found.");
}
}
}
在应用仅使用 Razor 组件中的静态资源的情况下,可以从应用的 Web 根目录(wwwroot 文件夹)提供静态资源。
将资源放入 wwwroot 文件夹中。 wwwroot/data.txt 和 wwwroot/jeep-yj.png。
对于 wwwroot 中的图像,“复制到输出目录”属性使用默认设置“不复制”。
在“解决方案资源管理器”中,选择 data.txt 文件。 在文件的“属性”中,将“复制到输出目录”设置为“如果较新则复制”。
@page "/static-asset-example-2"
@using Microsoft.Extensions.Logging
@inject ILogger<StaticAssetExample2> Logger
<p>@dataResourceText</p>
<p><img alt="1991 Jeep YJ" src="/jeep-yj.png" /></p>
@code {
public string dataResourceText = "Loading resource ...";
protected override async Task OnInitializedAsync()
{
try
{
dataResourceText = await ReadData();
}
catch (FileNotFoundException ex)
{
dataResourceText = "Data file not found.";
Logger.LogError(ex, "'wwwroot/data.txt' not found.");
}
}
private async Task<string> ReadData()
{
using var stream = await FileSystem.OpenAppPackageFileAsync("wwwroot/data.txt");
using var reader = new StreamReader(stream);
return await reader.ReadToEndAsync();
}
}
//WPF和Windows Form中
private async Task<string> ReadData()
{
using var reader = new StreamReader("wwwroot/data.txt");
return await reader.ReadToEndAsync();
}

标签:wwwroot,await,dataResourceText,reader,图像,MAUI,using,NET,txt
From: https://www.cnblogs.com/xsj1989/p/16823854.html

相关文章

  • mininet入门实战 学习指南
    mininet入门实战学习指南课程链接:https://www.51openlab.com/platform/curriculum/a18026230ad04063a70b6bb625212f3f/detail/实验一:mininet源码安装与验证指令说明ll......
  • Kubernetes-1.25.2 Relevant Download Page
    一、Kubernetes-1.25.2RelevantDownloadPage1 kubernetes页面链接:https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.25.md#server-bin......
  • 论文精读 A Gentle Introduction to Graph Neural Networks
    前言图神经网络在应用上还只是起步阶段,应用领域有药物发现、物理模拟、虚假新闻检测、车流量预测、推荐系统等。这篇文章是探索和解释现代图神经网络,第一部分是什么样的数......
  • 快读《ASP.NET Core技术内幕与项目实战》EFCore2.1:LINQ
    本节内容,涉及2.3(P40-P51)。主要NuGet包:无 一、常用LINQ方法1//测试数据,Employee类型为record2//publicrecordEmployee(intId,stringName,intAge,boolG......
  • .NET Core C#系列之XiaoFeng.Data.DataHelper数据库操作
    ​XiaoFeng.Data.DataHelper,当前类库支持MySql,SqlServer,Oledb,SQLite,Oracle,DM等数据库下面就以SqlServer为例,详细讲解一下当前类库。第一步,引用System.Data.SqlCli......
  • .NET Core C#系列之XiaoFeng.Data.IQueryableX ORM框架
    ​         当前对象操作数据库写法和EFCore极度类似,因为现在大部分程序员都懒得去写SQL,再一个就是项目作大了或其它原因要改数据库,每次改数据库,那么写的SQL语......
  • NETCORE - Socket 通信
    NETCORE-Socket通信创建两个.net项目,一个做为服务端,一个做为客户端。项目1:NETCORE.SSocket.Server (.net6 控制台应用程序)创建socket服务类:SocketServe......
  • Oracle-11g静默安装-netca.rsp
    响应模板文件netca.rsp,可以静默模式运行netca命令,配置并启动Oracle网络监听listener.ora和网络服务tnsnames.ora。##复制文件以备不时之需cp/home/oracle/database/respons......
  • Netty介绍、BIO与NIO基础知识
    第1章Netty介绍和应用场景1.1Netty介绍Netty是由JBOSS提供的一个Java开源框架,现为Github上的独立项目。Netty是一个异步的、基于事件驱动的网络应用框架,用以快速开......
  • python之第三方库netifaces库:netifaces 模块用于提供有关网络接口及其状态的信息(①获
    前言1、 在系统运维等过程中,网络永远是离不开的话题。网络中比较基础的是网络接口,每个网络接口都有一个名字,并且有它的ip地址,还有关于从这个接口出去的包的路由。我们可......