代码如下: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 。还请各位高手指点,这段代码该怎么写才能读取到音乐文件。(音乐文件是确实存在的)
{
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 。还请各位高手指点,这段代码该怎么写才能读取到音乐文件。(音乐文件是确实存在的)
解决方案 »
- 关于SQL 查询
- 为什么内部网站的视频有些电脑上不能放?
- asp.net批量上传图片时 在本地可以上传,服务器上不能上传
- 如何让在点击删除按钮之后弹出“确认”“取消”对话框!
- 谁能给我一个能在一个页面中多次使用的AJAX搜索下拉条案例?就是和GOOLE搜索的那个样子!
- 通过C#.net 的表单上传文件(两个页面完成)
- |...|Flash编程,很难,怎么拖动MovieClip的同时拖动上面所有原件(比如Button)
- 搞了一个星期,各位帮忙,图片保存类型问题:
- ASP.NET新手该如何学习啊,有什么好书推荐没各位大哥,最好有电子版的
- 请教一个正则表达式的写法:如何判断用户输入的不是纯数字
- 50分求一个简单的正则表达式,兄弟们帮帮忙,谢谢,在线等……
- 请教各位前辈们来帮我一个忙,非常感谢!
Response.Write("<script>location.href='" + url + "';</script>");
我这边调试成功,你试一下
先保证直接访问能ok, 我估计是 http://202.168.194.124/ 这个站点Mime-Type的问题!
http://localhost/music/aiqingzhuanyi.wav