C# api 将base64编码 上传至fastdfs转成文件

39 篇文章 1 订阅

       /// <summary>
        /// 上传缩略图base64
        /// </summary>
        /// <param name="image_body"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("UploadBase64Code")]
        public ActionResult<IEnumerable<string>> UploadToServer([FromBody]ImageUploadBody image_body)
        {
            byte[] arr = Convert.FromBase64String(image_body.image.Split(',')[1]);
            MemoryStream st = new MemoryStream(arr);
            var storageNode = FastDFSInit.GetStorageNode();
            string type = "jpg";
            byte[] content = null;
            using (BinaryReader reader = new BinaryReader(st))
            {
                content = reader.ReadBytes((int)st.Length);
            }
            string filePath = FastDFSClient.UploadFile(storageNode, content, type); //返回fastdfs文件路径
            return Ok(new
            {
                status = true,
                FilePath = filePath,
                msg = "上传成功!"
            });
        }

 

   public class ImageUploadBody
    {
        public string name;
        public string image;
    }

 

// fastdfs文件

    public class FastDFSInit
    {
        public static StorageNode GetStorageNode()
        {
            //===========================初始化========================================
            var trackerIPs = new List<IPEndPoint>();
            // 只能指定IP,设置域名需要其他方式作为转换
            string IP = FileAddress.GetFileServerAddress().ToString();
            var endPoint = new IPEndPoint(IPAddress.Parse(IP), 22122);
            trackerIPs.Add(endPoint);
            ConnectionManager.Initialize(trackerIPs);
            return FastDFSClient.GetStorageNode("group1");

        }
    }

FastDFS中,文件地址转base64可以通过以下步骤实现: 1. 首先获取文件的完整地址。 2. 使用Java的Base64编码工具类将文件地址进行base64编码。 以下是一个示例代码片段,展示了如何将FastDFS文件地址转为base64编码: ``` import java.util.Base64; public class FastDFSUtil { public static String convertToBase64(String fileUrl) { byte[] fileUrlBytes = fileUrl.getBytes(); String base64FileUrl = Base64.getEncoder().encodeToString(fileUrlBytes); return base64FileUrl; } public static void main(String[] args) { String fileUrl = "http://example.com/files/image.jpg"; String base64FileUrl = convertToBase64(fileUrl); System.out.println("Base64 encoded file URL: " + base64FileUrl); } } ``` 以上示例代码将`http://example.com/files/image.jpg`转换为base64编码文件地址。你可以将其适应到你的具体情况中。123 #### 引用[.reference_title] - *1* [使用图片服务器FastDFS实现图片上传](https://blog.csdn.net/LM891108647/article/details/72614549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* *3* [FastDFS学习(一)--基础知识及文件上传、下载和同步原理分析](https://blog.csdn.net/yzy199391/article/details/82109238)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值