using System;
winform上传using System.Collections.Generic;
winform上传using System.Text;
winform上传using System.Net;
winform上传using System.IO;
winform上传
winform上传namespace Common
winform上传winform上传winform上传{
winform上传winform上传 /**//// <summary>
winform上传 /// winform形式的文件传输类
winform上传 /// </summary>
winform上传 public class WinFileTransporter
winform上传winform上传winform上传{
winform上传winform上传 /**//// <summary>
winform上传 /// WebClient上传文件至服务器,默认不自动改名
winform上传 /// </summary>
winform上传 /// <param name="fileNamePath">文件名,全路径格式</param>
winform上传 /// <param name="uriString">服务器文件夹路径</param>
winform上传 public void UpLoadFile(string fileNamePath, string uriString)
winform上传winform上传winform上传{
winform上传            UpLoadFile(fileNamePath, uriString, false);
winform上传        }
winform上传winform上传 /**//// <summary>
winform上传 /// WebClient上传文件至服务器
winform上传 /// </summary>
winform上传 /// <param name="fileNamePath">文件名,全路径格式</param>
winform上传 /// <param name="uriString">服务器文件夹路径</param>
winform上传 /// <param name="IsAutoRename">是否自动按照时间重命名</param>
winform上传 public void UpLoadFile(string fileNamePath, string uriString, bool IsAutoRename)
winform上传winform上传winform上传{
winform上传 string fileName = fileNamePath.Substring(fileNamePath.LastIndexOf("\\") + 1);
winform上传 string NewFileName = fileName;
winform上传 if (IsAutoRename)
winform上传winform上传winform上传{
winform上传                NewFileName = DateTime.Now.ToString("yyMMddhhmmss") + DateTime.Now.Millisecond.ToString() + fileNamePath.Substring(fileNamePath.LastIndexOf("."));
winform上传            }
winform上传
winform上传 string fileNameExt = fileName.Substring(fileName.LastIndexOf(".") + 1);
winform上传 if (uriString.EndsWith("/") == false) uriString = uriString + "/";
winform上传
winform上传            uriString = uriString + NewFileName;
winform上传            Utility.LogWriter log = new Utility.LogWriter();
winform上传 //log.AddLog(uriString, "Log");
winform上传 //log.AddLog(fileNamePath, "Log");
winform上传winform上传 /**//**/
winform上传winform上传 /**//// 创建WebClient实例
winform上传            WebClient myWebClient = new WebClient();
winform上传            myWebClient.Credentials = CredentialCache.DefaultCredentials;
winform上传 // 要上传的文件
winform上传            FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read);
winform上传 //FileStream fs = OpenFile();
winform上传            BinaryReader r = new BinaryReader(fs);
winform上传 byte[] postArray = r.ReadBytes((int)fs.Length);
winform上传            Stream postStream = myWebClient.OpenWrite(uriString, "PUT");
winform上传
winform上传
winform上传 try
winform上传winform上传winform上传{
winform上传
winform上传 //使用UploadFile方法可以用下面的格式
winform上传 //myWebClient.UploadFile(uriString,"PUT",fileNamePath);
winform上传
winform上传
winform上传 if (postStream.CanWrite)
winform上传winform上传winform上传{
winform上传                    postStream.Write(postArray, 0, postArray.Length);
winform上传                    postStream.Close();
winform上传                    fs.Dispose();
winform上传                    log.AddLog("上传日志文件成功!", "Log");
winform上传                }
winform上传 else
winform上传winform上传winform上传{
winform上传                    postStream.Close();
winform上传                    fs.Dispose();
winform上传                    log.AddLog("上传日志文件失败,文件不可写!", "Log");
winform上传                }
winform上传
winform上传            }
winform上传 catch (Exception err)
winform上传winform上传winform上传{
winform上传                postStream.Close();
winform上传                fs.Dispose();
winform上传 //Utility.LogWriter log = new Utility.LogWriter();
winform上传                log.AddLog(err, "上传日志文件异常!", "Log");
winform上传 throw err;
winform上传            }
winform上传 finally
winform上传winform上传winform上传{
winform上传                postStream.Close();
winform上传                fs.Dispose();
winform上传            }
winform上传        }
winform上传
winform上传
winform上传winform上传 /**//**/
winform上传winform上传 /**//// <summary>
winform上传 /// 下载服务器文件至客户端
winform上传
winform上传 /// </summary>
winform上传 /// <param name="URL">被下载的文件地址,绝对路径</param>
winform上传 /// <param name="Dir">另存放的目录</param>
winform上传 public void Download(string URL, string Dir)
winform上传winform上传winform上传{
winform上传            WebClient client = new WebClient();
winform上传 string fileName = URL.Substring(URL.LastIndexOf("\\") + 1);  //被下载的文件名
winform上传
winform上传 string Path = Dir + fileName;   //另存为的绝对路径+文件名
winform上传            Utility.LogWriter log = new Utility.LogWriter();
winform上传 try
winform上传winform上传winform上传{
winform上传                WebRequest myre = WebRequest.Create(URL);
winform上传            }
winform上传 catch (Exception err)
winform上传winform上传winform上传{
winform上传 //MessageBox.Show(exp.Message,"Error"); 
winform上传                log.AddLog(err, "下载日志文件异常!", "Log");
winform上传            }
winform上传
winform上传 try
winform上传winform上传winform上传{
winform上传                client.DownloadFile(URL, fileName);
winform上传                FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
winform上传                BinaryReader r = new BinaryReader(fs);
winform上传 byte[] mbyte = r.ReadBytes((int)fs.Length);
winform上传
winform上传                FileStream fstr = new FileStream(Path, FileMode.OpenOrCreate, FileAccess.Write);
winform上传
winform上传                fstr.Write(mbyte, 0, (int)fs.Length);
winform上传                fstr.Close();
winform上传
winform上传            }
winform上传 catch (Exception err)
winform上传winform上传winform上传{
winform上传 //MessageBox.Show(exp.Message,"Error");
winform上传                log.AddLog(err, "下载日志文件异常!", "Log");
winform上传            }
winform上传        }
winform上传
winform上传    }
winform上传}

相关文章:

  • 2022-12-23
  • 2022-02-18
  • 2022-12-23
  • 2022-12-23
  • 2021-09-08
  • 2022-12-23
猜你喜欢
  • 2022-01-19
  • 2021-10-17
  • 2022-01-17
  • 2022-02-07
  • 2021-10-05
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案