我正在使用 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。但似乎路径未正确传递,如下所示:
请问我该如何解决这个问题?有没有更好的方法来做到这一点?