当前位置: 首页 > news >正文

哪个网站可以做店招珠海网站搭建

哪个网站可以做店招,珠海网站搭建,电脑ps软件,公司报备网站一、准备工作 1、本地部署MinIO服务 2、创建MinIO的Access Key 3、创建.net 项目 4、下载MinIO sdk 5、相关文档 二、编写MinIO工具类 三、管理存储桶 1、MyBucket类 #xff08;1#xff09;判断bucket是否存在 #xff08;2#xff09;新建bucket #xff08…一、准备工作 1、本地部署MinIO服务 2、创建MinIO的Access Key 3、创建.net 项目 4、下载MinIO sdk 5、相关文档 二、编写MinIO工具类 三、管理存储桶 1、MyBucket类 1判断bucket是否存在 2新建bucket 3删除bucket  4获取bucket列表 2、BucketController 3、实现效果 1判断bucket是否存在 2新建bucket 3删除bucket 4获取bucket列表 四、管理文件 1、MyObject类 1下载文件对象 2上传文件对象 3删除文件对象 4获取文件对象URL 2、ObjectController  3、实现效果 1下载指定文件 2上传指定文件 3删除指定文件  4获取指定文件URL  一、准备工作 1、本地部署MinIO服务 需要在本地部署MinIO并启动服务可以参考这篇文章 Windows部署MinIO搭建本地对象存储服务-CSDN博客 2、创建MinIO的Access Key 在MinIO控制台选择【Access Keys】点击【Create access key】 点击【Create】创建用于连接MinIO服务的Key和Secret很重要一定要另存下来 3、创建.net 项目 打开Visual Studio新建项目选择Web Api框架 选择.net8.0 4、下载MinIO sdk 使用NuGet包管理器找到并安装MinIIO的sdk如下图所示 这里安装的是最新版6.0.2 5、相关文档 .NET API 开发文档英文 .NET API 参考文档中文 以官网的英文文档为主中文文档为辅 二、编写MinIO工具类 在代码中编写一个用来连接MinIO服务的工具类【MinIO.cs】放在项目的【Helper】文件夹中 【Helper/MinIO.cs】 using Minio;namespace Zyl_MinIO_Demo.Helper {public class MinIO{private static string endPoint 127.0.0.1:9001; private static string accessKey 连接minio服务的key; private static string secretKey 连接minio服务的secret;private static bool secure false; public static MinioClient CreateMinioClient(){MinioClient minioClient (MinioClient)new MinioClient().WithEndpoint(endpoint).WithCredentials(accessKey, secretKey).WithSSL(secure) .Build();return minioClient;}} }// 该方法用来初始化MinIO对象。 MinioClient minioClient new MinioClient().WithEndpoint(endPoint).WithCredentials(accessKey, secretKey).WithSSL(secure).Build();  endPoint MinIO服务启动的URL注意自己启动服务的端口号 accessKey 在MinIO控制台申请的Access KeysecretKey在MinIO控制台申请的Access Secret secure 布尔值默认值  true是否启用HTTPS 三、管理存储桶 1、MyBucket类 在【Managers】文件夹中新建【MyBucket】类用来管理存储桶 【Managers/MyBucket.cs】 using Minio.DataModel.Args; using Minio.Exceptions; using Minio; using Zyl_MinIO_Demo.Helper; using Minio.DataModel.Result;namespace Zyl_MinIO_Demo.Managers {public class MyBucket{// 实例化 minioClientprivate static MinioClient minioClient MinIO.CreateMinioClient();/// summary/// 1、判断bucket是否存在/// /summary/// param namebucketName/param/// returns/returnspublic static async Taskstring IsExistStr(string bucketName){try{BucketExistsArgs args new BucketExistsArgs().WithBucket(bucketName);bool found await minioClient.BucketExistsAsync(args).ConfigureAwait(false);Console.WriteLine(found。。。。。。, found);if (found){Console.WriteLine(${bucketName}桶已存在);return ${bucketName}桶已存在;}else{Console.WriteLine(${bucketName}桶不存在);return ${bucketName}桶不存在;}}catch (MinioException e){Console.WriteLine([Bucket] Exception: {0}, e);return 出错啦;}}/// summary/// 2、创建一个bucket/// /summary/// param namebucketName/param/// returns/returnspublic static async Taskstring Create(string? bucketName){try{BucketExistsArgs args new BucketExistsArgs().WithBucket(bucketName);bool found await minioClient.BucketExistsAsync(args).ConfigureAwait(false);if (found){return ${bucketName}桶已存在;}else{MakeBucketArgs makeBucketArgs new MakeBucketArgs().WithBucket(bucketName);await minioClient.MakeBucketAsync(makeBucketArgs).ConfigureAwait(false);return ${bucketName}桶已成功创建;}}catch (MinioException e){Console.WriteLine([Bucket] Exception: {0}, e);return 出错啦;}}/// summary/// 3、移除一个bucket/// /summary/// param namebucketName/param/// returns/returnspublic static async Taskstring Delete(string? bucketName){try{BucketExistsArgs args new BucketExistsArgs().WithBucket(bucketName);bool found await minioClient.BucketExistsAsync(args).ConfigureAwait(false);if (!found){return ${bucketName}桶不存在;}else{RemoveBucketArgs removeBucketArgs new RemoveBucketArgs().WithBucket(bucketName);await minioClient.RemoveBucketAsync(removeBucketArgs);return ${bucketName}桶删除成功;}}catch (MinioException e){Console.WriteLine([Bucket] Exception: {0}, e);return 出错啦;}}/// summary/// 4、获取已有的bucket列表/// /summary/// returns/returnspublic static async TaskListAllMyBucketsResult? GetList(){try{return await minioClient.ListBucketsAsync();}catch (MinioException e){Console.WriteLine(Error occurred: e);return null ;}}} }1判断bucket是否存在 Taskbool BucketExistsAsync(BucketExistsArgs args) 判断一个指定名称的存储桶是否存在返回一个布尔值true存在或false不存在  2新建bucket Task MakeBucketAsync(MakeBucketArgs args) 创建一个指定名称的存储桶创建失败则返回异常信息 3删除bucket  Task RemoveBucketAsync(RemoveBucketArgs args) 移除一个指定名称的存储桶任务返回移除失败时的异常信息当桶中有内容时则不会被删除 4获取bucket列表 TaskListAllMyBucketsResult ListBucketsAsync() 用来获取buckets列表数据  2、BucketController 在Controllers文件夹下新建一个空的API控制器用来给前端人员暴露接口 【Controllers/BucketController.cs】 using Microsoft.AspNetCore.Mvc; using Minio; using Minio.DataModel.Result; using Zyl_MinIO_Demo.Managers;namespace Zyl_MinIO_Demo.Controllers {/// summary/// 管理 MinIO 中的 Bucket/// /summary[Route(api/[controller]/[action])][ApiController]public class BucketController : ControllerBase{/// summary/// 1、判断指定bucket是否存在/// /summary/// param namebucketNamebucket 名称/param/// returns/returns[HttpPost]public async Taskstring IsBucketExit(string bucketName){return await MyBucket.IsExist(bucketName) ? ${bucketName}桶已存在 : ${bucketName}桶不存在;}/// summary/// 2、 创建bucket/// /summary/// param namebucketNamebucket 名称/param/// returns/returns[HttpPost]public async Taskstring CreateBucket(string bucketName){return await MyBucket.Create(bucketName);}/// summary/// 3、移除bucket/// /summary/// param namebucketNamebucket 名称/param/// returns/returns[HttpDelete]public async Taskstring DeleteBucket(string bucketName){return await MyBucket.Delete(bucketName);}/// summary/// 4、获取bucket列表/// /summary/// returns/returns[HttpGet]public async TaskListAllMyBucketsResult GetBucketList(){return await MyBucket.GetList();}} }3、实现效果 启动项目使用Swagger进行接口测试 注意 需要确保项目中已经配置了Swagger需要确保MinIO服务已经启动 项目启动后的swagger页面 .net 项目中配置 Swagger-CSDN博客  可参考上方链接配置swagger 先在MinIO控制台中创建一个名为zyl的bucket 1判断bucket是否存在 输入桶名点击测试 执行后可以看到数据正常返回 2新建bucket 3删除bucket 4获取bucket列表 四、管理文件 1、MyObject类 在【Managers】文件夹中新建【MyObject】类用来管理存储桶中的文件对象 【Managers/MyObject.cs】 using Minio.DataModel.Args; using Minio; using Zyl_MinIO_Demo.Helper; using Minio.Exceptions;namespace Zyl_MinIO_Demo.Managers {public class MyObject{private static readonly MinioClient minioClient MinIO.CreateMinioClient();/// summary/// 1、下载文件 到本地/// /summarypublic async static TaskString DownloadFile(string bucketName, string objectName) {try{string folderPath D:\\minio-download-files\\;if (!Directory.Exists(folderPath)) {DirectoryInfo directoryInfo new DirectoryInfo(folderPath);directoryInfo.Create();}StatObjectArgs statObjectArgs new StatObjectArgs().WithBucket(bucketName).WithObject(objectName);await minioClient.StatObjectAsync(statObjectArgs);GetObjectArgs getObjectArgs new GetObjectArgs().WithBucket(bucketName).WithObject(objectName).WithFile(folderPath objectName);await minioClient.GetObjectAsync(getObjectArgs);return Success;}catch (MinioException e){return $Failure\r\n{e.Message};}}/// summary/// 2、上传文件 指定文件/// /summarypublic async static Taskstring UploadFile(string bucketName,string fileFullPath){try{// 判断bucket是否存在bool isExit await MyBucket.IsExist(bucketName);if (!isExit){Console.Out.WriteLine(${bucketName}桶不存在);return ${bucketName}桶不存在文件上传失败;}string objectName fileFullPath.Split(\\)[^1];// 上传文件PutObjectArgs putObjectArgs new PutObjectArgs().WithBucket(bucketName).WithObject(objectName).WithFileName(fileFullPath).WithContentType(application/octet-stream);await minioClient.PutObjectAsync(putObjectArgs).ConfigureAwait(false);return ${objectName}上传成功;}catch (Exception e){return $Failure\r\n{e.Message};}}/// summary/// 3、删除 指定文件/// /summarypublic async static Taskstring DeleteFile(string bucketName, string objectName){try{// 判断bucket是否存在bool isExit await MyBucket.IsExist(bucketName);if (!isExit){return ${bucketName}桶不存在文件删除失败;}RemoveObjectArgs removeObjectArgs new RemoveObjectArgs().WithBucket(bucketName).WithObject(objectName);await minioClient.RemoveObjectAsync(removeObjectArgs);return ${bucketName}桶中的{objectName}文件删除成功;}catch (MinioException e){return $Failure\r\n{e.Message};}}/// summary/// 4、获取指定文件的url链接/// /summarypublic async static TaskString GetFileUrl(string bucketName, string objectName){try{PresignedGetObjectArgs args new PresignedGetObjectArgs().WithBucket(bucketName).WithObject(objectName).WithExpiry(60 * 60 * 24 * 7);return await minioClient.PresignedGetObjectAsync(args);}catch (MinioException e){return $Failure\r\n{e.Message};}}} }1下载文件对象 Task GetObjectAsync(GetObjectArgs args) 用来下载一个文件对象并保存到本地 2上传文件对象 Task PutObjectAsync(PutObjectArgs args) 若上传的文件名于之前相同则会覆盖 3删除文件对象 Task RemoveObjectAsync(RemoveObjectArgs args) 4获取文件对象URL Taskstring PresignedGetObjectAsync(PresignedGetObjectArgs args) 返回的URL可用来直接下载该文件对象返回的URL有效期为7天默认也可以自行设置秒数 2、ObjectController  【Controllers/ObjectController.cs】 using Microsoft.AspNetCore.Mvc; using Zyl_MinIO_Demo.Managers;namespace Zyl_MinIO_Demo.Controllers {/// summary/// 管理 MinIO对象默认zyl bucket桶/// /summary[Route(api/[controller]/[action])][ApiController]public class ObjectController : ControllerBase{/// summary/// 1、下载 bucket中的文件/// /summary/// remarks/// 会保存在 D:\\minio-download-files 文件夹内/// 若本地D盘中没有该文件夹则会自动创建/// /remarks/// param nameobjectName文件名/param/// param namebucketName桶名默认zyl/param[HttpPost]public async Taskstring DownloadObject( string objectName, string bucketName zyl){return await MyObject.DownloadFile(bucketName, objectName);}///summary/// 2、上传 本地指定文件/// /summary/// remarks/// 上传同名文件会覆盖之前的/// /remarks/// param namefileFullPath上传文件的完整绝对路径例如D:\test\test.txt/param/// param namebucketName桶名默认zyl/param[HttpPost]public async Taskstring UploadObject(string fileFullPath, string bucketName zyl){return await MyObject.UploadFile(bucketName, fileFullPath);}/// summary/// 3、删除 指定桶中的指定文件/// /summary/// param nameobjectName文件名/param/// param namebucketName桶名默认zyl/param[HttpDelete]public async Taskstring DeleteObject(string objectName, string bucketName zyl){return await MyObject.DeleteFile(bucketName, objectName);}/// summary/// 4、获取 指定文件的Url链接 有效期 7天/// /summary/// remarks/// 只能是已经存在于minio中的任意文件/// /remarks/// param nameobjectName文件名/param/// param namebucketName桶名默认zyl/param/// returns/returns[HttpPost]public async Taskstring GetObjectUrl(string objectName, string bucketName zyl) {return await MyObject.GetFileUrl(bucketName, objectName);}} }3、实现效果 在Swagger页面可以看到我们新增的文件对象相关接口 1下载指定文件 这里的默认bucket确保在使用之前已经创建文件会下载到本地D盘的【minio-downlo-files】文件夹中没有该文件夹会自动创建 2上传指定文件 第一个参数应该填写待上传文件的完整绝对路径这里上传的是D盘下test文件夹中的text.txt文件上传到minio服务中的文件名取自待上传的文件名若与之前的文件名相同会进行覆盖 3删除指定文件  4获取指定文件URL  需要确保minio中已经上传了该文件将返回的URL链接放在浏览器的地址栏按回车即可下载查看 ​ 每天进步一点点记录一下MinIO的学习笔记 刚开始接触后端代码略显生涩嘻嘻嘻 还望走过路过的各位大佬多多指点~
http://www.hkea.cn/news/14511268/

相关文章:

  • 河北网站设计制作网络推广服务平台
  • 合肥做淘宝网站s9视频直播
  • 主流的网站建设的软件有哪些天津网站建设公司哪家好
  • 免费行情软件网站下载大全免费建站的网站有哪些
  • 2020北京冬奥会网页制作重庆seo代理价格
  • 网站建设要买哪些软件网站关键词优化费用
  • 如何做网站 百度如何查询网站空间大小
  • 哪里有网站建设哪家好哈尔滨建筑网
  • 做网站包括图片设计吗做网站和做app有什么不同
  • 重庆电子商务网站seo网站设计中的js
  • 网站建设都有什么栏目安全中国asp.net网站开发项目实战培训班
  • 网站设计专业的公司wordpress权限不够
  • 程序员个人博客网站提升网站流量的方法
  • 手机网站建设公司电话咨询网站建设 自动跳转
  • 衡水电子商务网站建设百度自建站
  • 深圳专门做网站室内设计有限公司
  • 软件园二期做网站的公司有哪些好用的做微信公众号的网站
  • 网站建设 牛商网技术提供凡科网站手机投票怎么做
  • 展示网站建设价格北京网站建设 fim
  • 成都网站建设开发价网页制作素材代码
  • 网站建设 主要内容无锡电子商务网站建设
  • 茶叶网站flash模板免费下载怎么查看网站提交百度的度
  • 佛山专业做网站的网页制作需要下载什么软件
  • vs中可以用新建项目来做网站吗制作属于自己的网站
  • 做公司+网站建设收款 wordpress
  • 便宜网站建设哪家好承德市网站建设
  • 网站 被刷流量门户网站系统架构
  • 武锡网站建设生购房政策重庆seo海洋qq
  • 网站建设定制公司建设银行网盾进不去网站是怎么办
  • 永州网站建设多少钱wordpress手机号登陆不了