qq_22782705
2015-06-24 05:31
采纳率: 29.6%
浏览 2.2k

从服务器上下载文件到本地不成功

当项目在本地时正常,当项目布在服务器上面,下载的文件存储在服务器上。代码如下,怎么才能让文件保存在本地
Uri downUri = new Uri(@"http://wap.incake.net/voiceorderFile/NO7HhefxdIeQqzvbfw7EP8_U1Up3Vdzw0YfQ5vB_oaMQoZq4bfa5P-T-SqixZtXP8LK.mp3");
//建立一个WEB请求,返回HttpWebRequest对象

HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(downUri);
//设置接收对象的范围为0-10000000字节。

    hwr.AddRange(0, 10000000);

    //流对象使用完后自动关闭
    using (Stream stream = hwr.GetResponse().GetResponseStream())
    {
        //文件流,流信息读到文件流中,读完关闭
        using (FileStream fs = File.Create(@"E:\6666.mp3"))
        {
            //建立字节组,并设置它的大小是多少字节
            byte[] bytes = new byte[102400];
            int n = 1;
            while (n > 0)
            {
                //一次从流中读多少字节,并把值赋给N,当读完后,N为0,并退出循环
                n = stream.Read(bytes, 0, bytes.Length);
                fs.Write(bytes, 0, n); //将指定字节的流信息写入文件流中
            }
        }
    }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • Tiger_Zhao 2015-06-24 05:49

    A)你把路径 E:\ 改为服务器 IIS 项目所在“本地路径”之下的某个子目录,这样可以通过页面上一个链接从你的网站上下载该文件。
    B)你用 Response.WriteFile() 直接向客户端返回文件。
    总之服务器上是不能直接写客户端硬盘的文件的,只能由客户端下载后手工保存。除非你去做客户端的WinForm程序。

    点赞 打赏 评论

相关推荐 更多相似问题