我正在编写一个快速网页来控制对基于网络的音频文件(讲座录音)存储库的访问。音频文件保存在 SAN 上,并使用 UNC 共享从 Web 服务器访问。
我想强制出现一个“保存”对话框,因为在测试过程中我们发现一些网络浏览器很难保存 mp3 文件。重要的是我们的学生可以保存文件,而不是仅仅听它。
另一个要求是,只有在学生点击同意尊重文件版权的复选框后,下载链接才可用。
我首先尝试在网站上使用作为域用户进行身份验证的虚拟目录。但是,如果我用命令按钮打开音频文件的 URL,网络浏览器可能会立即尝试播放它。
取而代之的是,我尝试使用 ADODB.stream 并使用 stream.LoadFromFile 将文件发送给具有适当内容处置的学生以强制下载。因为 LoadFromFile 使用文件路径,所以我不能使用 IIS 虚拟目录,因此必须让网站匿名登录访问我的网络共享。我通过使其作为域帐户运行来做到这一点,但这让我有点紧张,因为我认为它不太安全。
即使那样,我仍然无法达到预期的目标,因为 stream.LoadFromFile 命令似乎拒绝从网络共享读取文件。即使我用来运行站点的域登录具有对该网络共享的完全访问权限,它也会出现身份验证错误。
对于实现我的目标的替代方法有什么建议吗?