c# - 如何将内存中的对象作为 JSON 文件从服务器端 Blazor 下载到客户端?
问题描述
我有一个类,其中包含用户在访问页面后可能想要下载的一些信息。使用 JSRuntime 互操作的一些初步挖掘点。
我的类.cs
public class MyClass
{
public int Count { get; set; }
public string Summary { get; set; }
}
MyClassPage.razor
<button type="button" class="ml-auto p-2 btn btn-primary" onclick="@DownloadFile">Download</button>
...
async Task DownloadFile()
{
var testObj = new SpeciesData();
testObj.Count = 100;
testObj.Summary = "Lorem Ipsum";
var fileName = "testing.json";
var serializedObject = JsonSerializer.Serialize(testObj);
byte[] bytes = Encoding.UTF8.GetBytes(serializedObject);
await JS.InvokeAsync<object>(
"saveAsFile",
fileName,
Convert.ToBase64String(bytes ));
}
如何获取要下载的文件?不确定我在哪里/如何将 JS 文件注入项目(我假设使用名为 saveAsFile 的函数?)
我参考过的类似问题:
解决方案
推荐阅读
- google-sheets - 是否可以获得从公式计算的范围?
- node.js - node.js REST API上的删除请求在邮递员而不是应用程序中工作正常
- ios - iOS - 获取当前的 AVPlayer(Item) 状态
- jekyll - Jekyll 服务在 localhost 中生成错误的路径
- swift - 从 UIAlertController (Swift) 中的 UITextField 获取字符串
- javascript - 在 Nginx 反向代理引发空白屏幕后,Rocketchat 在 docker 中运行
- python - 无法弄清楚如何在 Python3 中重复过程
- angularjs - Dropzone删除所有文件
- java - 正则表达式匹配字符串中的固定子字符串
- r - 当 size < 1 时 geom_sf 大小参数不起作用