0

我正在使用 ASP.NET Core、Entity Framework Core Wavesurferjs API 开发 Web 应用程序。

我成功地创建了我的应用程序的 CRUD,它工作得很好,但是在我的主页索引视图中,我正在使用带有 javascript 的 API 来使用这个 API 的功能,正如它所说,我必须在我的内部编写一个 javascript 代码web应用程序,以使其按以下方式运行:

@section Scripts {
<script type="text/javascript">
    var path = '@Model.MusicList';
    console.log(path);
        var wavesurfer = WaveSurfer.create({
            container: '#waveform',
            waveColor: 'violet',
            progressColor: 'purple'
        });
            wavesurfer.load(path);
            wavesurfer.on('ready', function () {
            wavesurfer.play();
        });
</script>
}

如您所见,我正在使用这行代码:

@Model.MusicList

这是我从控制器通过剃须刀页面的参数,如下所示:

剃刀视图:

@model MusicSurfer.ViewModal.HomeViewModel.HomeViewModel

控制器 :

private readonly IHostingEnvironment _hostingEnvironment;
    public HomeController(IHostingEnvironment hostingEnvironment)
    {
        _hostingEnvironment = hostingEnvironment;
    }
    public IActionResult Index()
    {
        string path = Path.Combine(_hostingEnvironment.WebRootPath, "music");
        var model = new HomeViewModel()
        {
            MusicList = path
        };

        return View(model);
    }

为了使 API 工作,我需要通过在.load ()函数中传递其路径来加载存储在wwwrooot目录中的音乐文件夹中的文件 .mp3。但似乎路径未正确传递,如下所示: 在此处输入图像描述

请问我该如何解决这个问题?有没有更好的方法来做到这一点?

4

0 回答 0