2 qq 22782705 qq_22782705 于 2015.06.24 13:31 提问

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

当项目在本地时正常,当项目布在服务器上面,下载的文件存储在服务器上。代码如下,怎么才能让文件保存在本地
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
Tiger_Zhao   Rxr 2015.06.24 13:49

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

qq_22782705
qq_22782705 我试过用B 但是 虚拟路径错误总是说 请求代码示例
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片