使用juse

问题描述 投票:0回答:2
Path.Combine

如果是相关的,我正在尝试将

Spine骨骼动画C#/MonogameRuntime
KniMonogame Extension

集成。除了通过FileStream加载的一个Atlas文件外,一切都很好,我很难弄清楚该问题的确切位置。 enter image description here 您的错误消息显示您在

blazor webAssembly。 这意味着您无法访问(服务器)文件系统。

在浏览器中,只能在eplazor的一部分的memfs文件系统上打开。但这并不容纳您的任何文件。 解决方案是使用FileStream stream = new FileStream("Content/Testing/testfile.jpg", FileMode.Open, FileAccess.Read);

,也许首先将其复制到Memorystream。
c# blazor blazor-webassembly
2个回答
2
投票

当您说文件是由FileStream加载的时,听起来它不是构建的一部分,但是在部署后已添加到网站上。 如果是这样,那么我上周遇到了同样的问题。事实证明,ASP.NET Core只能服务于其知道的文件,即项目中的文件并将在部署中输出。否则您将获得404,除非您明确告诉它允许这些文件。 简短的答案是将以下内容添加到您的服务器项目的
FileStream

文件...

Content/**
有关更多详细信息,请阅读我的博客文章提供背景。

与亨克·霍尔特曼(Henk Holterman)。您可能将映像文件放在

HttpClient.GetStreamAsync(uri)

文件夹中,然后将其访问
Program.cs

块中,您可以使用httpclient发送请求并以字节数组的形式获取图像,然后将其转换为base64 string并显示它

0
投票

app.UseStaticFiles(); app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider( Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "images")), RequestPath = "/images" }); app.MapStaticAssets();

输出如下:

    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.