当前位置:编程学习 > C#/ASP.NET >>

写下载按钮时老是有问题,请高手指点一下

--------------------编程问答-------------------- 要注意webform和winform的区别。
byte[] aa = File.ReadAllBytes(“../UpData/test.jpg");【知道有问题不知道咋写】
File.WriteAllBytes(@"c:\test.jpg", aa); 
File.ReadAllBytes和File.WriteAllBytes都是读、写本地磁盘上的文件,所以File.ReadAllBytes(“../UpData/test.jpg"); 这样的路径形式是错误的。而File.WriteAllBytes(@"c:\test.jpg", aa); 写的话,会在你的服务器端的C盘下生成一个test.jpg文件。
--------------------编程问答-------------------- 你可以用webclient下载到本地数据流 --------------------编程问答--------------------    System.Windows.Browser.HtmlPage.Window.Eval(string.Format("window.location.href='{0}';", "../UpData/test.jpg")); --------------------编程问答-------------------- private void DownLoadFile(string address, string filename)
        {          
            WebClient client=new WebClient();
            client.DownloadFile(address,filename);//运行到此处出错
            //跟踪 address=D:\\源程序\\Cabin\\UpData\\b0c0a0d9-c419-4a90-bb26-d76470714a17_12.jpg
            filename=c:\\b0c0a0d9-c419-4a90-bb26-d76470714a17_12.jpg

            Stream str=client.OpenRead(address);
            StreamReader reader=new StreamReader(str);
            byte[] mbyte=new byte[str.Length+1];
            int allmybyte=(int)mbyte.Length;
            int startmbyte=0;
            while(allmybyte>0)
            {
                int m=str.Read(mbyte,startmbyte,allmybyte);
                if(m==0)
                {
                    break;
                }
                startmbyte+=m;
                allmybyte-=m;
            }
            FileStream fstr=new FileStream(filename,FileMode.OpenOrCreate,FileAccess.Write);
            fstr.Write(mbyte,0,startmbyte);
            str.Close();
            fstr.Close();
        } --------------------编程问答--------------------  private void DownFileExcel(string filename)
        {//文件下载
            string updata_url = System.Configuration.ConfigurationManager.AppSettings["UpdataUrl"].ToString();
            string filepath = Server.MapPath(updata_url + filename);
            try
            {
                WebRequest myre = WebRequest.Create(filepath);
                string newfilename = "c:\\" + filename;//newfilename为存放本地的文件路径
                DownLoadFile(filepath, newfilename);//调用上面的函数
            }
            catch (System.Exception ee)
            {
                string dd = ee.ToString();
                Response.Write("文件无法下载");
            }
        }
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,