如何在mvc中将wav文件下载到本地机器时实现另存为

how to implement save as when downloading wav file to local machine in mvc

我想实现一个选项,让用户将 wav 文件下载或保存到他们的本地计算机。我目前有这个:

<div id="ContextMenu">
<a id="savebtn" class="savebtn" href="~/Content/audio/sounds.wav" download="sounds.wav">Save</a>
</div>

当我从我的机器访问该网站时,这似乎有效,但当另一个用户从他们的机器访问该站点时,它只会打开媒体播放器,但实际上不会将 wav 文件保存在他们的本地机器中。有谁知道为什么要这样做以及我该如何解决?另外,如果可能的话,我如何实现 "save as" 以便用户可以选择保存 wav 文件的位置。

谢谢

实际行为取决于浏览器。我建议使用 Content-Disposition header (Uses of content-disposition in an HTTP response header)

Content-Disposition: attachment;  filename="sounds.wav"

它不是 http 标准的一部分,但它被广泛实施并告诉浏览器保存内容而不是处理它

旁边 - 在 href 中你不应该使用 ~(href 中的波浪号),使用页面的相对或绝对 url,例如./Content/audio/sounds.wav