我的网站上有个语音文件下载的功能,语音文件的路径保存在A服务器数据库中,语音文件保存在B服务器中。我在本地运行调试可以下载语音文件并正常播放。但网站发布到A服务器上时下载的文件却不能播放。我的代码如下: //当点击下载时 if (e.CommandName == "Download") { string path = e.CommandArgument.ToString(); //获取数据库中语音文件的路径 如:D:\record\1.wav string path2 = path.Substring(path.LastIndexOf(":") + 1); //截取文件路径字符串 如:record\1.wav //获取Web.config中语音文件的IP地址 如:\\10.100.0.1\record\1.wav string filename = ConfigurationManager.ConnectionStrings["record"].ToString() + path2; FileInfo file = new FileInfo(filename); Response.Clear(); Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(path, System.Text.Encoding.UTF8)); Response.Flush(); Response.WriteFile(filename); }
2 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
你在数据库中存储的是绝对路径吗
string path = e.CommandArgument.ToString(); //获取数据库中语音文件的路径 如:D:\record\1.wav
如果是,问题出在这。你开发机器上的程序位置和你服务器上的文件夹路径不见得就是一样的,你应该存储相对路径。“~\record\1.wav” 类似这种。 在下载的时候。转化为绝对路径下载。
- 2 回答
- 0 关注
- 419 浏览
添加回答
举报
0/150
提交
取消