/// <summary> /// 保存远程文件到本地 /// </summary> /// <param name="url">远程文件URL</param> /// <param name="file">保存的本地路径</param> /// <returns></returns> public bool DownloadFile(string url, string file) { try { (new System.Net.WebClient()).DownloadFile(url,file); return true; } catch { } return false; } public void Download(string strURL,string strName) { string strRootDir = "D:\\DownLoadRecode"; if (!Directory.Exists(strRootDir)) { Directory.CreateDirectory(strRootDir); } WebClient client = new WebClient(); string strFileName = string.Empty; string strFileDir = string.Empty; string strSavePath = string.Empty; string[] arrName = strName.Split('/'); if (arrName != null && arrName.Length > 1) { strFileDir = arrName[0]; strFileName = arrName[1]; strSavePath = strRootDir + "\\" + strFileDir; if (!Directory.Exists(strSavePath)) { Directory.CreateDirectory(strSavePath); } } else { strFileName = strName; strSavePath = strRootDir + "\\Temp"; if (!Directory.Exists(strSavePath)) { Directory.CreateDirectory(strSavePath); } } strSavePath += "\\" + strFileName; if (!File.Exists(strSavePath)) { client.DownloadFile(strURL, strSavePath); } FileInfo xFileInfo = new FileInfo(strSavePath); Response.Clear(); //清除缓冲区流中的所有内容输出 Response.ClearHeaders(); //清除缓冲区中的所有头 Response.Buffer = false; //设置缓冲输出为 false //设置输出流的 HTTP MIME 类型为 application/octet-stream Response.ContentType = "audio/x-wav"; Response.Charset = "GB2312"; Response.ContentEncoding = Encoding.UTF8; //将 HTTP 头添加到输出流 Response.AppendHeader("Content-Disposition", "p_w_upload;filename=" + HttpUtility.UrlEncode(strFileName)); Response.AppendHeader("Content-Length", xFileInfo.Length.ToString()); //将指定的字符直接写入HTTP内容输出流 Response.WriteFile(strSavePath); Response.Flush(); Response.End(); }
C# 保存远程文件到本地
原创demon2012d 博主文章分类:ASP.NET ©著作权
文章标签 C# 保存远程文件到本地 文章分类 .Net 后端开发