紧急求助:路径问题

yan9299 yan9299 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
代码如下:

private void dataGrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName=="listen")
{
string ID = dataGrid.DataKeys[e.Item.ItemIndex].ToString();
string sql = "select record from table where id="+ID+"";
SqlDataReader Sdr = Class.ReturnDataReader(sql);
string path = Sdr[0].ToString();
if(!System.IO.File.Exists(path))
{
Response.Write("<script language='javascript'>alert('文件不存在!');</script>");
}
else
{
string url = path.Replace(@"d:\temp\","");
url = url.Replace("\\","/");
url = "http://202.168.194.124/"+url;
Response.Redirect(url);
}
}
if(e.CommandName=="down")
{
string ID = dataGrid.DataKeys[e.Item.ItemIndex].ToString();
string sql = "select record from table where id="+ID+"";
SqlDataReader Sdr = Class.ReturnDataReader(sql);
string path = Sdr[0].ToString();
if(!System.IO.File.Exists(path))
{
Response.Write("<script language='javascript'>alert('文件不存在!');</script>");
}
else
{
System.IO.FileInfo file = new System.IO.FileInfo(path);
Response.Clear();
Response.Charset="GB2312";
Response.ContentEncoding=System.Text.Encoding.UTF8;
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "audio/x-wav";
Response.WriteFile(file.FullName);
Response.End();
}
}


}

以上代码点 试听(listen)按纽时,报错:HTTP 错误 404 - 找不到文件。但点 下载(down)按纽时,可以正常下载。我估计是代码

string url = path.Replace(@"f:\temp\","");
url = url.Replace("\\","/");
url = "http://202.168.194.124/"+url;
Response.Redirect(url);


代码中url取得的路径问题。其中record字段存放的是音位文件路径(如:d:\temp\music\xinyang.wav)。202.168.194.124是本机外网IP,本机在局域网中的IP为192.168.1.123 。还请各位高手指点,这段代码该怎么写才能读取到音乐文件。(音乐文件是确实存在的)
...全文
评论 10
收藏 已收藏
分享
返回顶部
yan9299
.NET社区 62,271 成员 668,968 内容