写下载按钮时老是有问题,请高手指点一下
--------------------编程问答-------------------- 要注意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#