【问题标题】:Blazor: Could not find 'downloadFileFromStream'Blazor:找不到 \'downloadFileFromStream\'
【发布时间】:2022-11-10 09:14:43
【问题描述】:
 private Stream GetFileStream(Track track)
{
    Stream fileStream = _ftpService.DownloadTrack(track);

    return fileStream;
}

private async Task DownloadFileFromStream(Track track)
{
    var fileStream = GetFileStream(track);
    var fileName = track.Title;

    var streamRef = new DotNetStreamReference(stream: fileStream);

    await _js.InvokeVoidAsync("downloadFileFromStream", fileName, streamRef);
}

错误:Microsoft.JSInterop.JSException:找不到“downloadFileFromStream”(“downloadFileFromStream”未定义)。

我在互联网上找不到任何解决此问题的方法。

【问题讨论】:

  • 您是否按照我的建议添加了 js 对象?
  • 我为您感到高兴,在这种情况下,您可以点击“问题已解决”按钮。顺便说一句,我在 c# 和 blazor 上有一个我的名字的 YouTube 频道,你也可以看看

标签: javascript c# ftp blazor


【解决方案1】:

你做了代码的“复制粘贴”吗?

看起来您正在尝试调用一个名为“downloadFileFromStream”的 javascript 方法

消息:

Could not find 'downloadFileFromStream' 

表示此 downloadFileFromStream 未定义。 为此,请确保添加一个 lambda 对象,例如:

<body>
<script>
    window.downloadFileFromStream = () => {
        // your javascript code here
    };
</script>

【讨论】:

    【解决方案2】:
    <script>
      window.downloadFileFromStream = async (fileName, contentStreamReference) => {
        const arrayBuffer = await contentStreamReference.arrayBuffer();
        const blob = new Blob([arrayBuffer]);
        const url = URL.createObjectURL(blob);
        const anchorElement = document.createElement('a');
        anchorElement.href = url;
        anchorElement.download = fileName ?? '';
        anchorElement.click();
        anchorElement.remove();
        URL.revokeObjectURL(url);
      }
    </script>
    

    https://learn.microsoft.com/en-us/aspnet/core/blazor/file-downloads?source=recommendations&view=aspnetcore-6.0

    https://learn.microsoft.com/en-us/aspnet/core/blazor/javascript-interoperability/?view=aspnetcore-6.0#location-of-javascript

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      • 2022-11-16
      • 2021-02-25
      • 2021-09-05
      • 2021-09-22
      相关资源
      最近更新 更多