如何解决Blazor WASM 文件不存在但可读?
我有一个 Blazor WASM PWA,我想独立使用(如果可能的话)。
目前,我正在尝试操作 wwwroot 下的 json 文件
现在,虽然我可以通过 HttpClient.GetFromJsonAsync 读取其内容,但所有其他访问文件的尝试都失败了。
我尝试过的:
- 通过 File.Exists 检查文件是否存在 -> 返回 false
- 通过 HttpClient.PostAsJsonAsync 发布对象 -> 为 Json-File 返回 404
我知道在 WebAssembly 中,文件被缓存/加载到浏览器中,所以我明白为什么我应该无法找到路径类似“/datasource-json/Ingredient.json”的文件,但是为什么“GetFromJsonAsync " 然后使用该路径?
我是否遗漏了一些重要的东西,我该如何解决这个问题? 对于这个特定的项目,如果可能的话,我不想使用另一个 Api-Project + Entity Framework。
解决方法
Wasm 完全在浏览器上运行,因此您实际上没有文件系统。如果你有的话,那就是客户端机器,但这将是一个重大的安全漏洞。
为什么从 http 获取文件有效是因为服务器提供对 web 根目录中所有文件的 GET 访问。
为什么 POST 不起作用是因为发布某些内容需要一个服务器端点,该端点侦听该 URL 上的数据并可以理解您发送的格式。因此,您需要某种控制器,该控制器具有与文件 URL 不同的特定 URL
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。