免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7329 | 回复: 10
打印 上一主题 下一主题

[FastDFS] FastDFS .Net 客户端 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-26 17:40 |只看该作者 |倒序浏览
本帖最后由 yangtc_sub 于 2011-09-26 17:43 编辑

想用FastDFS,但一直苦于没有.Net的客户端
附件是我自己封装的FastDFS .Net客户端,秉着开源精神 共享出来
目前支持 上传 下载 查文件信息 删除操作,近期增加了增量上传  增量下载的功能 V2.10下测试通过
调用方式非常非常简单,Program.cs就是调用demo,

在这里感谢fish对FastDFS协议的热情解答!

(连接池管理那部分应该有优化空间 有bug或优化建议请在本贴下回复 尽量修改 但平时工作忙 不一定会很及时 请谅解)

FastDFS.rar

136.33 KB, 下载次数: 818

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
2 [报告]
发表于 2011-09-26 18:51 |只看该作者
cool,顶!

论坛徽章:
0
3 [报告]
发表于 2011-11-09 14:06 |只看该作者
除文本文件外,上传上去的文件再下载格式就不对了,也打不开,是什么原因?

论坛徽章:
0
4 [报告]
发表于 2012-04-18 11:34 |只看该作者
这里面看到有你的一个.net的客户端Demo程序,感觉挺不错的,但是里面的下载功能好像有问题,我上传的6百多K的JPG图片,下载下来怎么只有1K呢。。。

论坛徽章:
0
5 [报告]
发表于 2012-04-18 15:14 |只看该作者
你的这个文件信息获取方法中,有一个Crc32 的属性。这个是干嘛用的??
还有 超过3K的文件 ,都会下载不成功的,而且Crc32属性也为负值。

论坛徽章:
0
6 [报告]
发表于 2012-04-18 15:15 |只看该作者
请问如何解决啊???

论坛徽章:
0
7 [报告]
发表于 2012-07-19 15:46 |只看该作者
顶 顶  啊  ,希望有后续的更新

论坛徽章:
0
8 [报告]
发表于 2012-07-20 15:05 |只看该作者
下载问题已经解决了哦,主要代码:
if (fileInfo.FileSize >= 1024)//如果文件大小大于1KB  分次写入
                    {
                        FileStream fs = new FileStream(LocalName, FileMode.OpenOrCreate, FileAccess.Write);
                        //string name_ = LocalName.Substring(LocalName.LastIndexOf("\\") + 1, LocalName.Length - LocalName.LastIndexOf("\\") - 1);
                        long offset = 0;
                        long len = 1024;
                        while (len > 0)
                        {
                            byte[] buffer = new byte[len];
                            buffer = FastDFSClient.DownloadFile(node, StorageNme, offset, len);
                            fs.Write(buffer, 0, int.Parse(len.ToString()));
                            fs.Flush();
                           // setrichtext(name_ + "已经下载:" + (offset / fileInfo.FileSize) + "%");
                            offset = offset + len;
                            len = (fileInfo.FileSize - offset) >= 1024 ? 1024 : (fileInfo.FileSize - offset);
                        }
                        fs.Close();
                        
                    }
                    else//如果文件大小小雨1KB  直接写入文件
                    {
                        byte[] buffer = new byte[fileInfo.FileSize];
                        buffer = FastDFSClient.DownloadFile(node, StorageNme);
                        FileStream fs = new FileStream(LocalName, FileMode.OpenOrCreate, FileAccess.Write);
                        fs.Write(buffer, 0, buffer.Length);
                        fs.Flush();
                        fs.Close();
                    }
                }

a.jpg (53.87 KB, 下载次数: 58)

a.jpg

论坛徽章:
0
9 [报告]
发表于 2012-07-20 15:09 |只看该作者
下载新鞋没显示在上面,大文件,.exe,.jpg,.rar.....都可以上传下载

private void downloadToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Thread dx_download = new Thread(new ThreadStart(dx_downloadfile));
            dx_download.Start();
        }

B.jpg (70.99 KB, 下载次数: 60)

B.jpg

论坛徽章:
0
10 [报告]
发表于 2012-08-20 10:25 |只看该作者
小牛試刀哥您好,在.net api上我遇到了下面的問題
.Net Client API sample for download file, 為何都沒先詢問Tracker該由哪個Storage node來下載?而是Client直接指定node?
e.g., FastDFSClient.DownloadFile(node, fileName, 0L,0L)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP