我的網站上有個語音文件下載的功能,語音文件的路徑保存在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 關注
- 436 瀏覽
添加回答
舉報
0/150
提交
取消