• C# WinForm 文件上传下载


    /// <summary>
      /// WebClient上传文件至服务器
      /// </summary>
      /// <param name="fileNamePath">文件名,全路径格式</param>
      /// <param name="uriString">服务器文件夹路径</param>
      private void UpLoadFile(string fileNamePath,string uriString)
      {
       string fileName = fileNamePath.Substring(fileNamePath.LastIndexOf("\") + 1);
       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(fileName, 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
        {
         AppHelper.MessageService.ShowError("文件目前不可写!");
        }
        postStream.Close();
       }
       catch
       {
        AppHelper.MessageService.ShowError("文件上传失败,请稍候重试~");
       }
      }
    
    
      /// <summary>
      /// 下载服务器文件至客户端
    
      /// </summary>
      /// <param name="URL">被下载的文件地址,绝对路径</param>
      /// <param name="Dir">另存放的目录</param>
      public void 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
       {
        //MessageBox.Show(exp.Message,"Error"); 
       }
       
       try
       {
        client.DownloadFile(URL,fileName);
        FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
        BinaryReader r = new BinaryReader(fs);
        byte[] mbyte = r.ReadBytes((int)fs.Length);
    
        FileStream fstr = new FileStream(Path,FileMode.OpenOrCreate,FileAccess.Write); 
    
        fstr.Write(mbyte,0,(int)fs.Length);
        fstr.Close(); 
    
       } 
       catch
       {
        //MessageBox.Show(exp.Message,"Error");
       } 
      } 
     
  • 相关阅读:
    git 好文引流
    无法访问Swagger 或 druid面板无法访问 #报异常
    MachineLearning入门-7(数据理解)
    MachineLearning入门-6(数据导入)
    MachineLearning入门-5(Python和Scipy简介)
    百度PaddlePaddle入门-10(数据处理)
    百度PaddlePaddle入门-9(建模)
    百度PaddlePaddle入门-8(模型探讨)
    MachineLearning入门-4(理解数据集)
    百度PaddlePaddle入门-7 (Numpy的应用)
  • 原文地址:https://www.cnblogs.com/jameslif/p/3937088.html
Copyright © 2020-2023  润新知