Example #1
0
 private void button1_Click(object sender, EventArgs e)
 {
     var config = FastDfsManager.GetConfigSection();
     ConnectionManager.InitializeForConfigSection(config);
     storageNode = FastDFSClient.GetStorageNode(config.GroupName);
     textBox1.Text = FastDFSClient.UploadFile(storageNode, File.ReadAllBytes("test.jpg"), "jpg");
 }
Example #2
0
        /// <summary>
        /// 获取文件信息
        /// </summary>
        /// <param name="storageNode">GetStorageNode方法返回的存储节点</param>
        /// <param name="fileName">文件名</param>
        /// <returns></returns>
        public static FDFSFileInfo GetFileInfo(StorageNode storageNode, string fileName)
        {
            var storageReqeust = QUERY_FILE_INFO.Instance.GetRequest(storageNode.EndPoint, storageNode.GroupName, fileName);

            var result = new FDFSFileInfo(storageReqeust.GetResponse());

            return result;
        }
Example #3
0
        /// <summary>
        /// 增量下载文件
        /// </summary>
        /// <param name="storageNode">GetStorageNode方法返回的存储节点</param>
        /// <param name="fileName">文件名</param>
        /// <param name="offset">从文件起始点的偏移量</param>
        /// <param name="length">要读取的字节数</param>
        /// <returns>文件内容</returns>
        public static byte[] DownloadFile(StorageNode storageNode, string fileName, long offset, long length)
        {
            var storageReqeust = DOWNLOAD_FILE.Instance.GetRequest(storageNode.EndPoint, offset, length, storageNode.GroupName, fileName);

            var storageResponse = new DOWNLOAD_FILE.Response(storageReqeust.GetResponse());

            return storageResponse.Content;
        }
Example #4
0
        /// <summary>
        ///     初始化连接
        /// </summary>
        /// <param name="config"></param>
        public void Init(FastDfsConfig config)
        {
            try
            {
                ConnectionManager.InitializeForConfigSection(config);
                storageNode = FastDFSClient.GetStorageNode(config.GroupName);
            }
            catch (Exception ex)
            {

                File.AppendAllText(DateTime.Now.ToShortDateString() + ".log",ex.Message);
                throw;
            }
        }
Example #5
0
 /// <summary>
 ///     修改组
 /// </summary>
 /// <param name="groupName"></param>
 public void ChangeGroup(string groupName)
 {
     storageNode = FastDFSClient.GetStorageNode(groupName);
 }
Example #6
0
        /// <summary>
        /// 获取存储节点
        /// </summary>
        /// <param name="groupName">组名</param>
        /// <returns>存储节点实体类</returns>
        public static StorageNode GetStorageNode(string groupName)
        {
            var trackerRequest = QUERY_STORE_WITH_GROUP_ONE.Instance.GetRequest(groupName);

            var trackerResponse = new QUERY_STORE_WITH_GROUP_ONE.Response(trackerRequest.GetResponse());

            var storeEndPoint = new IPEndPoint(IPAddress.Parse(trackerResponse.IpStr), trackerResponse.Port);

            var result = new StorageNode
            {
                GroupName = trackerResponse.GroupName,
                EndPoint = storeEndPoint,
                StorePathIndex = trackerResponse.StorePathIndex
            };

            return result;
        }
Example #7
0
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="storageNode">GetStorageNode方法返回的存储节点</param>
        /// <param name="contentByte">文件内容</param>
        /// <param name="fileExt">文件扩展名(注意:不包含".")</param>
        /// <returns>文件名</returns>
        public static string UploadFile(StorageNode storageNode, byte[] contentByte, string fileExt)
        {
            var storageReqeust = UPLOAD_FILE.Instance.GetRequest(storageNode.EndPoint, storageNode.StorePathIndex, contentByte.Length, fileExt, contentByte);

            var storageResponse = new UPLOAD_FILE.Response(storageReqeust.GetResponse());

            return storageResponse.FileName;
        }