FastDFS在.Net平台上的使用

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

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

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

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

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

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

ConnectionManager.Initialize(trackerIPs);

storageNode = FastDFSClient.GetStorageNode("group1");

扫描二维码关注公众号,回复: 2015094 查看本文章

如果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公社资源站下载:

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

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

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

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

猜你喜欢

转载自www.linuxidc.com/Linux/2017-02/140350.htm
今日推荐