您的位置:首页 > 编程语言 > ASP

ASP.NET上传下载文件示例,使用webClient实现

2010-10-19 15:17 1111 查看
/// <summary>  
/// WebClient上传文件至服务器  
/// </summary>  
/// <param name="fileNamePath">文件名,全路径格式</param>  
/// <param name="uriString">服务器文件夹路径</param>  
public string UploadFile(string fileNamePath,string uriString)  
{  
 string fileName = fileNamePath.Substring(fileNamePath.LastIndexOf("//") + 1);  
 string NewFileName = DateTime.Now.ToString("yyMMddhhmmss") + DateTime.Now.Millisecond.ToString() + fileNamePath.Substring(fileNamePath.LastIndexOf("."));  
 string fileNameExt = fileName.Substring(fileName.LastIndexOf(".") + 1);  
 if(uriString.EndsWith("/") == false)   
 {  
  uriString = uriString + "/";  
 }  
 uriString = uriString + NewFileName;  
 // 创建WebClient实例  
 WebClient myWebClient = new WebClient();  
 myWebClient.Credentials = CredentialCache.DefaultCredentials;  
 // 要上传的文件  
 FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read);  
 //FileStream fs = OpenFile();  
 BinaryReader r = new BinaryReader(fs);  
 try 
 {  
  //使用UploadFile方法可以用下面的格式  
  //myWebClient.UploadFile(uriString,"PUT",fileNamePath);  
  byte[] postArray = r.ReadBytes((int)fs.Length);  
  Stream postStream = myWebClient.OpenWrite(uriString,"PUT");  
  if(postStream.CanWrite)  
  {  
   postStream.Write(postArray,0,postArray.Length);  
  }  
  else 
  {  
   return "No Write.";  
  }  
  postStream.Close();  
  return "Succefull";  
 }  
 catch(Exception ex)  
 {  
  return "Error:" + ex.Message;  
 }  
}  
/// <summary>  
/// 下载服务器文件至客户端  
/// </summary>  
/// <param name="URL">被下载的文件地址,绝对路径</param>  
/// <param name="Dir">另存放的目录</param>  
public string Download(string URL,string Dir)  
{  
 WebClient client = new WebClient();  
 string fileName = URL.Substring(URL.LastIndexOf("/") + 1);  //被下载的文件名  
 string Path = Dir+fileName;   //另存为的绝对路径+文件名  
 try 
 {  
  WebRequest myre=WebRequest.Create(URL);      
 }  
 catch(Exception ex)  
 {  
  return "Error:" + ex.Message;   
 }  
 try 
 {  
  client.DownloadFile(URL,Path);  
  return "Succefull";  
 }   
 catch(Exception ex)  
 {  
  return "Error:" + ex.Message;  
 }   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐