qq_22782705 2015-06-24 05:31 采纳率: 0%
浏览 2322

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

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

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料