你好,游客 登录 注册 搜索
背景:
阅读新闻

FastDFS在.Net平台上的使用

[日期:2017-02-07] 来源:Linux社区  作者:alvin_xp [字体: ]

我们已经了解了FastDFS是什么,一般稍微大一的网站都会做文件分离存储,FastDFS这轻型的分布式文件存储方式,非常有用。

下面我们就了解一下,FastDFS在.net平台下如何实现上传和下载功能。

咱用了WINFOM实现了一个简单的DEMO:

左侧为tracker可以分配多个,换行显示

右侧为storage列表,这里只做显示,可以不填

1、点击“连接FASTDFS”按钮,系统将连接fastdfs服务器

ConnectionManager.Initialize(trackerIPs);

storageNode = FastDFSClient.GetStorageNode("group1");

如果Fastdfs服务器配置正确,你会看到“连接成功”的字样。

2、点击“选择文件并上传”按钮,文件将会把文件上传至fastdfs服务器

OpenFileDialog openFileDialog = new OpenFileDialog();

          openFileDialog.Filter = "文本文件|*.*|png|*.png|JPG|*.jpg|JPEG|*.jpeg|所有文件|*.*";

          openFileDialog.RestoreDirectory = true;

          openFileDialog.FilterIndex = 1;

          if (openFileDialog.ShowDialog() == DialogResult.OK)

          {

              string fName = openFileDialog.FileName;

              byte[] content = null;

              /*  FileInfo fileInfo = new FileInfo(filePath);

                return fileInfo.Length;*/

              FileStream streamUpload = new FileStream(fName, FileMode.Open);

              using (BinaryReader reader = new BinaryReader(streamUpload))

              {

                  content = reader.ReadBytes((int)streamUpload.Length);

              }

              textBox1.Text = fName;

           

              //主文件

              string fileName = FastDFSClient.UploadFile(storageNode, content, "png");

              var info = FastDFSClient.GetFileInfo(storageNode, fileName);

              //从文件

              var slaveFileName = FastDFSClient.UploadSlaveFile("group1", content, fileName, "_120x120", "png");

              var slaveInfo = FastDFSClient.GetFileInfo(storageNode, slaveFileName);

              listBox1.Items.Add(string.Format("主文件:http://{0}:8080/group1/{1}", trackerIPs[0].Address, fileName));

              listBox1.Items.Add(string.Format("主文件大小:{0}KB,创建时间:{1}", info.FileSize, info.CreateTime));

              listBox1.Items.Add(string.Format("从文件:http://{0}:8080/group1/{1}", trackerIPs[0].Address, slaveFileName));

              listBox1.Items.Add(string.Format("从文件大小:{0}KB,创建时间:{1}", slaveInfo.FileSize, slaveInfo.CreateTime));

          }

这时候你会在界面中看到你上传的文件返回的文件访问地址,你可以尝试在网页中打开,前提是上一篇的Nginx一定要配对。

对于“主文件”和“从文件”的概念,通常是用在图片文件的存储上,例如缩略图,就可以从文件进行存储。这个意义不是很大了解一下就行。

这个界面参考别的博友的,可惜他没有代码,我帮他补上,小酌一下勿喷,哈哈

程序代码可以到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2017年资料/2月/7日/FastDFS在.Net平台上的使用/

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割线------------------------------------------

CentOS6环境单服务器FastDFS+Nginx+fastdfs-nginx-module 安装配置 http://www.linuxidc.com/Linux/2015-01/111889.htm

Ubuntu 14.04下部署FastDFS 5.08+Nginx 1.9.14 http://www.linuxidc.com/Linux/2016-07/133485.htm

CentOS 6.2下fastDFS的完整安装和配置步骤 http://www.linuxidc.com/Linux/2012-12/75989.htm

FastDFS在Ubuntu下的安装,PHP客户端 http://www.linuxidc.com/Linux/2012-09/71459.htm

FastDFS分布式文件服务器安装,及配置,测试 http://www.linuxidc.com/Linux/2012-09/71458.htm

CentOS 7 安装配置分布式文件系统 FastDFS 5.0.5  http://www.linuxidc.com/Linux/2016-09/135537.htm

FastDFS分布式存储服务器安装过程详解 http://www.linuxidc.com/Linux/2016-10/136544.htm

FastDFS之文件服务器集群部署详解 http://www.linuxidc.com/Linux/2017-01/139891.htm

FastDFS 的详细介绍请点这里
FastDFS 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-02/140350.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道��,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款