• FastDFS.Client操作文件服务器


    1、配置文件设置

    <configSections>
        <section name="fastdfs" type="FastDFS.Client.Config.FastDfsConfigurationSectionHandler, FastDFS.Client" />
      </configSections>
    
     <fastdfs>
        <FastDfsConfig GroupName="group1">
          <FastDfsServer IpAddress="192.168.88.103" Port="22122" />
        </FastDfsConfig>
      </fastdfs>

    2、FastDFS.Client API调用

    上传:

    //文件保存到FastDFS服务器
    var config = FastDfsManager.GetConfigSection();
    ConnectionManager.InitializeForConfigSection(config);
    StorageNode storageNode = FastDFSClient.GetStorageNode(config.GroupName);
    
    string filePath = FastDFSClient.UploadFile(storageNode, file.Data, file.Extension.Replace(".", ""));        

    下载:

    private Task<byte[]> DownloadFileAsyn(string filePath)
            {
                return Task.Run(() =>
                {
                    List<byte> content = new List<byte>();
                    var config = FastDfsManager.GetConfigSection();
                    ConnectionManager.InitializeForConfigSection(config);
                    StorageNode storageNode = FastDFSClient.GetStorageNode(config.GroupName);
                    FDFSFileInfo fileInfo = FastDFSClient.GetFileInfo(storageNode, filePath);
                    if (fileInfo.FileSize >= 1024)  //文件内容大于1024字节时,需要分批下载
                    {
                        long offset = 0, len = 1024;
                        while (len > 0)
                        {
                            byte[] buffer = FastDFSClient.DownloadFile(storageNode, filePath, offset, len);
                            content.AddRange(buffer);
                            offset += len;
                            len = Math.Min(fileInfo.FileSize - offset, 1024);
                        }
                    }
                    else
                    {
                        content.AddRange(FastDFSClient.DownloadFile(storageNode, filePath));
                    }
    
                    return content.ToArray();
                });
            }

    删除:

             // 从FastDFS服务器删除
                var config = FastDfsManager.GetConfigSection();
                ConnectionManager.InitializeForConfigSection(config);
                FastDFSClient.RemoveFile(config.GroupName, path);    
  • 相关阅读:
    Scala(四)流程控制
    Scala(九)异常
    Idea中安装翻译插件
    hiveserver2启动卡住问题解决方案
    Scala(十)隐式转换
    Scala(七)集合
    Scala(六)面向对象
    Scala(八)模式匹配
    SharePoint 2010 文档库添加文件icon
    Windows Server 2008 r2 在Hyperv里搭建SharePoint 2010开发环境
  • 原文地址:https://www.cnblogs.com/guokun/p/5843841.html
Copyright © 2020-2023  润新知