共计 2971 个字符,预计需要花费 8 分钟才能阅读完成。
我们已经了解了 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