首页 > 编程语言 >C# 配置七牛云

C# 配置七牛云

时间:2024-03-22 11:37:26浏览次数:30  
标签:putPolicy 七牛云 string temp filePath C# config 配置 上传

先要下载一个MQiniu.CoreSdk包

ak、sk为七牛云的秘钥,在个人中心查看

    public IActionResult Upload(List<IFormFile> formFiles)
    {
    //先上传到本地,才能上传到七牛云,上传完成后本地的文件可删除
    var res = Task.Run(() =>
    {
    //ak修改为自己的accessKey
    //sk修改为自己的secretKey
    Mac mac = new Mac("Nm97OmZGM_hvzQGay45jZEqX-f-B1UGlknUQHcnx", "m4rSY8DcJqWw4X8-IFtXW2YTRoCzAdwDcK2pCi4S");
    List<string> result = new List<string>();
    foreach (var formFile in formFiles)
    {
        if (formFile.Length > 0)
        {
            var filePath_temp = $"{AppContext.BaseDirectory}/Images_temp";
            var fileName = $"{DateTime.Now:yyyyMMddHHmmssffff}{formFile.FileName}";
            if (!Directory.Exists(filePath_temp))
            {
                Directory.CreateDirectory(filePath_temp);
            }

            using (var stream = System.IO.File.Create($"{filePath_temp}/{fileName}"))
            {
                formFile.CopyTo(stream);
            }

            // 上传文件名
            string key = fileName;
            // 本地文件路径
            string filePath = $"{filePath_temp}/{fileName}";
            // 存储空间名
            //修改成自己的命名空间
            string Bucket = "mes1";
            // 设置上传策略
            PutPolicy putPolicy = new PutPolicy();
            // 设置要上传的目标空间
            putPolicy.Scope = Bucket;
            // 上传策略的过期时间(单位:秒)
            //putPolicy.SetExpires(3600);
            // 文件上传完毕后,在多少天后自动被删除
            //putPolicy.DeleteAfterDays = 1;
            // 生成上传token
            string token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString());
            Config config = new Config();
            // 设置上传区域  ZONE_CN_South
            //改成自己所在的域名
            config.Zone = Zone.ZONE_CN_South;
            // 设置 http 或者 https 上传
            config.UseHttps = true;
            config.UseCdnDomains = true;
            config.ChunkSize = ChunkUnit.U512K;
            // 表单上传
            FormUploader target = new FormUploader(config);
            HttpResult httpResult = target.UploadFile(filePath, key, token, null);
            result.Add(fileName);
            //删除备份文件夹
            Directory.Delete(filePath_temp, true);
        }
    }

    return string.Join(",", result);
});
return Ok(res);


}

标签:putPolicy,七牛云,string,temp,filePath,C#,config,配置,上传
From: https://www.cnblogs.com/wangsr/p/18089072

相关文章

  • Windows下com及word
    原文链接:https://blog.csdn.net/Liuqz2009/article/details/124328777读写Word日常开发的软件使用最多的应该是导出数据到 Word 文档中,目前可以用的方案有这几种COM简介Microsoft组件对象模型(COM)是一个独立于平台的分布式面向对象的系统,用于创建可交互的二进制软件组......
  • 文生图的基石CLIP模型的发展综述
    CLIP的英文全称是ContrastiveLanguage-ImagePre-training,即一种基于对比文本-图像对的预训练方法或者模型。CLIP是一种基于对比学习的多模态模型,CLIP的训练数据是文本-图像对:一张图像和它对应的文本描述,这里希望通过对比学习,模型能够学习到文本-图像对的匹配关系。OpenAI在202......
  • Electron IPC通信机制深度解析与实例演示
    ElectronIPC通信机制深度解析与实例演示IPC机制原理概述IPC通信实例演示IPC通信的优势与应用场景IPC通信的高级用法1.异步通信2.传输复杂数据类型3.处理多个并发请求IPC通信最佳实践与优化1.尽量减少不必要的通信2.使用持久化存储替代部分通信3.注意数据安......
  • 语义分割(semantic-segmentation)
    一、语义分割1、什么是语义分割       语义分割将图片中的每个像素分配到对应的类别。在目标检测问题中,我们一直使用方形边界框来标注和预测图像中的目标。语义分割(semanticsegmentation)问题重点关注于如何将图像分割成属于不同语义类别的区域。与目标检测不同,语义分......
  • Rancher(v2.6.3)——安装Rancher
    [详细安装说明请查看Rancher安装说明文档]:https://gitee.com/WilliamWangmy/snail-knowledge/blob/master/Rancher/Rancher%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md#1%E5%AE%89%E8%A3%85rancherRancher部署Mysql(单机版):https://blog.csdn.net/WMY1230/article/details/1369......
  • 2605. 从两个数字数组里生成最小数字c
    intminNumber(int*nums1,intnums1Size,int*nums2,intnums2Size){intmin=INT_MAX;for(inti=0;i<nums1Size;i++){intsum=0;for(intj=0;j<nums2Size;j++){if(nums1[i]!=nums2[j]){if(nums1[i]>......
  • QMake和CMake
     区别和相同点       qmake和cmake两者都用来构建系统,都生成一个Makefile,该文件由make读取以构建项目,告诉编译器和链接器该做什么,以创建可执行文件(或动态或静态库)。       qmake专注于使用Qt的项目,QtCreator可以轻松生成项目文件(适合初学者),并由QtCreator支......
  • ICommand的实现(1)
    ICommand接口在System.Windows.Input命名空间内定义。它有两个方法和一个事件。////摘要://Occurswhenchangesoccurthataffectwhetherornotthecommandshouldexecute.eventEventHandler?CanExecuteChanged;////摘要://......
  • typescript 学习日志
    1. 属性名前面加上 readonly 关键字,表示这个属性是只读属性,不能修改。typescript里面的readonly是真的在初始化的时候确定其值不可改变,而非C#里面一样的其实是一个计算属性。 注意,如果属性值是一个对象,readonly修饰符并不禁止修改该对象的属性,只是禁止完全替换掉该对象。......
  • Moonsec_Projet_7_Writeup
    Moonsec_Projet_71、基础介绍1.1网络拓扑图主机账号密码网卡IPWindowsServer2016administrator!@#QWE123vmnet17(web)|vmnet18192.168.0.144(www.moonlab.com)|10.10.1.131WindowsServer2012administrator!@#QWEasdvmnet18|vmnet1910.10.1.......