FastDFS client for .net

ゞ 浴缸里的玫瑰 2022-01-17 06:29 372阅读 0赞

为什么80%的码农都做不了架构师?>>> hot3.png

fastDfs Code: https://code.google.com/p/fastdfs/

FastDfs_Client_DotNet:https://code.google.com/p/fastdfs/downloads/detail?name=FastDFS_Client_Dotnet.rar

FastDfs示例代码

初始化

  1. List<IPEndPoint> trackerIPs = new List<IPEndPoint>();
  2. IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("192.168.0.123"),22122);
  3. trackerIPs.Add(endPoint);
  4. ConnectionManager.Initialize(trackerIPs);
  5. StorageNode node = FastDFSClient.GetStorageNode("group1");

获取文件信息

  1. FDFSFileInfo fileInfo = FastDFSClient.GetFileInfo(node, fileName);
  2. Console.WriteLine(string.Format("FileName:{0}", fileName));
  3. Console.WriteLine(string.Format("FileSize:{0}", fileInfo.FileSize));
  4. Console.WriteLine(string.Format("CreateTime:{0}", fileInfo.CreateTime));
  5. Console.WriteLine(string.Format("Crc32:{0}", fileInfo.Crc32));

上传文件

  1. byte[] buffer = FastDFSClient.DownloadFile(node, fileName, 0L, 0L);
  2. string localName = @"D:\a.ppt";
  3. if (fileInfo.FileSize >= 1024)//如果文件大小大于1KB 分次写入
  4. {
  5. FileStream fs = new FileStream(localName, FileMode.OpenOrCreate, FileAccess.Write);
  6. //string name_ = LocalName.Substring(LocalName.LastIndexOf("\\") + 1, LocalName.Length - LocalName.LastIndexOf("\\") - 1);
  7. long offset = 0;
  8. long len = 1024;
  9. while (len > 0)
  10. {
  11. byte[] buffer = new byte[len];
  12. buffer = FastDFSClient.DownloadFile(node, fileName, offset, len);
  13. fs.Write(buffer, 0, int.Parse(len.ToString()));
  14. fs.Flush();
  15. // setrichtext(name_ + "已经下载:" + (offset / fileInfo.FileSize) + "%");
  16. offset = offset + len;
  17. len = (fileInfo.FileSize - offset) >= 1024 ? 1024 : (fileInfo.FileSize - offset);
  18. }
  19. fs.Close();
  20. }
  21. else//如果文件大小小小于1KB 直接写入文件
  22. {
  23. byte[] buffer = new byte[fileInfo.FileSize];
  24. buffer = FastDFSClient.DownloadFile(node, fileName);
  25. FileStream fs = new FileStream(localName, FileMode.OpenOrCreate, FileAccess.Write);
  26. fs.Write(buffer, 0, buffer.Length);
  27. fs.Flush();
  28. fs.Close();
  29. }

删除文件

  1. FastDFSClient.RemoveFile("group1", fileName);

HTTP获取文件

  1. Http流读取

    string url = “http://aa.com/da/g5/M02/0D/16/rBEDik_nOJ0IAAAAAAA_cbJCY-UAACrRgMhVLEAAD-J352.jpg“;
    System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
    System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)req.GetResponse();
    Image myImage = Image.FromStream(res.GetResponseStream());
    myImage.Save(“c:\fast.jpg”);//保存

>

WebClient直接下载

  1. using (WebClient web = new WebClient())
  2. {
  3. web.DownloadFile("http://img13.360buyimg.com/da/g5/M02/0D/16/rBEDik_nOJ0IAAAAAAA_cbJCY-UAACrRgMhVLEAAD-J352.jpg", "C:\\abc.jpg");
  4. web.DownloadFile("http://192.168.81.233/M00/00/00/wKhR6VADbNr5s7ODAAIOGO1_YmA574.jpg", "C:\\abc.jpg");
  5. }

转载于:https://my.oschina.net/xxiu/blog/198550

发表评论

表情:
评论列表 (有 0 条评论,372人围观)

还没有评论,来说两句吧...

相关阅读