.NET 9.0 MAUI Blazor多平台引用文件存放及Web端访问方法咨询
解决.NET MAUI Blazor Hybrid Web端访问共享Resources/raw文件的方法
要让Web端访问存放在ProjectName/Resources/raw下的文件且不重复存储,有两种实用方案:
方案一:添加文件链接到Web项目
这种方式让Web项目直接关联原位置的文件,无需复制:
- 右键点击
ProjectName.Web项目,选择「添加」→「现有项」 - 导航到
ProjectName/Resources/raw目录,选中需要访问的文件(或全选) - 点击「添加」按钮旁的下拉箭头,选择「添加为链接」
- 选中所有添加的链接文件,在属性面板设置:
- 生成操作:设为
Content - 复制到输出目录:设为「如果较新则复制」
完成后,Web项目运行时就能像访问自身文件一样读取这些共享资源。
- 生成操作:设为
方案二:通过ASP.NET Core静态文件中间件映射路径
利用Blazor Web的ASP.NET Core特性,直接映射物理路径到Web请求路径:
- 打开
ProjectName.Web项目的Program.cs - 在
app.UseStaticFiles();之后,添加以下代码:
// 根据你的解决方案目录结构调整相对路径 var rawResourcesPath = Path.Combine(Directory.GetCurrentDirectory(), "../ProjectName/Resources/raw"); app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(rawResourcesPath), RequestPath = "/raw-files" // 自定义Web端访问的路径前缀 });
- 保存后,Web端就可以通过
/raw-files/你的文件名访问对应资源。
注意事项
- 大模型文件体积较大,建议测试Web端的加载速度,必要时实现流式加载逻辑
- 确保Web进程对
ProjectName/Resources/raw目录有读取权限 - 如果是跨平台部署,可考虑用环境变量配置物理路径,避免硬编码相对路径
内容的提问来源于stack exchange,提问作者Steve3p0
相关产品推荐
相关产品推荐

