Blazor WASM 文件不存在(但可读?)
Blazor WASM File does not exist (but is readable?)
我有一个 Blazor WASM PWA,我想独立使用(如果可能的话)。
目前,我正在尝试操作 wwwroot
下的一个 json 文件
Location of Json File
现在,虽然我可以通过 HttpClient.GetFromJsonAsync 读取其内容,但所有其他访问该文件的尝试都失败了。
我尝试过的:
- 检查文件是否存在通过 File.Exists -> returns false
- Post 对象通过 HttpClient.PostAsJsonAsync -> returns 404 用于 Json-File
我知道在 WebAssembly 中,文件 cached/loaded 进入浏览器,所以我明白为什么我应该无法找到路径为“/datasource-json/Ingredient.json 的文件”,但为什么“GetFromJsonAsync”与该路径一起工作?
我是否遗漏了一些重要的东西,我该如何解决这个问题?
对于这个特定的项目,如果可能的话,我不想使用另一个 Api-Project + Entity Framework。
Wasm 完全在浏览器上运行,因此您几乎没有文件系统。如果你有的话,那将是客户端机器,但这将是一个重大的安全漏洞。
为什么从 http 获取文件有效是因为服务器提供对 Web 根目录中所有文件的 GET 访问。
为什么 POST 不起作用是因为发布内容需要服务器端点侦听 URL 上的数据并且可以理解您发送的格式。因此,您需要某种控制器,它有一个特定的 URL 与文件 URL
不同
我有一个 Blazor WASM PWA,我想独立使用(如果可能的话)。
目前,我正在尝试操作 wwwroot
下的一个 json 文件Location of Json File
现在,虽然我可以通过 HttpClient.GetFromJsonAsync 读取其内容,但所有其他访问该文件的尝试都失败了。
我尝试过的:
- 检查文件是否存在通过 File.Exists -> returns false
- Post 对象通过 HttpClient.PostAsJsonAsync -> returns 404 用于 Json-File
我知道在 WebAssembly 中,文件 cached/loaded 进入浏览器,所以我明白为什么我应该无法找到路径为“/datasource-json/Ingredient.json 的文件”,但为什么“GetFromJsonAsync”与该路径一起工作?
我是否遗漏了一些重要的东西,我该如何解决这个问题? 对于这个特定的项目,如果可能的话,我不想使用另一个 Api-Project + Entity Framework。
Wasm 完全在浏览器上运行,因此您几乎没有文件系统。如果你有的话,那将是客户端机器,但这将是一个重大的安全漏洞。
为什么从 http 获取文件有效是因为服务器提供对 Web 根目录中所有文件的 GET 访问。
为什么 POST 不起作用是因为发布内容需要服务器端点侦听 URL 上的数据并且可以理解您发送的格式。因此,您需要某种控制器,它有一个特定的 URL 与文件 URL
不同