FastDFS .net 客户端目前还比较少,而且使用大部分没有原生提供的方便
推荐一个比较方便的
下载地址:
https://www.nuget.org/packages/NengLong.CMP.FastDFSClient/1.0.1
使用的技术是IKVM 可以写和原生java 一样的文件处理了,比较方便
简单的例子如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using org.csource.fastdfs;
using System.IO;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
ClientGlobal.init("client.conf"); // 初始配置加载tracker信息,可以参考javaAPI
TrackerClient trackerClient;
TrackerServer trackerServer;
StorageClient1 storageClient;
StorageServer storageServer;
trackerClient = new TrackerClient();
trackerServer = trackerClient.getConnection();
storageServer = trackerClient.getStoreStorage(trackerServer);
storageClient = new StorageClient1(trackerServer, storageServer); // 存储操作类生成
FileStream fs = new FileStream("client.conf", FileMode.OpenOrCreate, FileAccess.Read);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
fs.Close();
var fileinfo = storageClient.upload_file1("dd.xlsx", "xlsx", null); // 上传文件
Console.WriteLine(fileinfo);
var data= storageClient.download_file1(fileinfo); // 下载文件
var dat2 = storageClient.download_file1("group1/M00/00/00/ZciJUFcwnPqATS68AAB4AHKdIvA163.tar"); // 下载已有文件
FileStream fs2 = new FileStream("dddd.xlsx", FileMode.OpenOrCreate);
BinaryWriter bw = new BinaryWriter(fs2);
bw.Write(data);
bw.Close();
fs2.Close();
FileStream fs3 = new FileStream("demo.tar", FileMode.OpenOrCreate);
BinaryWriter bw2 = new BinaryWriter(fs3);
bw2.Write(dat2);
fs3.Close();
fs2.Close();
Console.ReadLine();
}
}
}
原文:http://www.cnblogs.com/rongfengliang/p/5476553.html