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 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多