分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

.Net Core实现将文件上传到七牛云存储

发布时间:2023-09-06 01:30责任编辑:蔡小小关键词:文件上传

功能:将图片上传到七牛云存储

准备工作

  • 注册七牛账号,提交实名认证(基本上1天内内审核通过)
  • 登录七牛后台->对象存储->新建空间 (基本概念:https://developer.qiniu.com/kodo/manual/3978/the-basic-concept)
  • 新建空间后会有免费域名可以使用。但是:测试域名,限总流量,限单 IP 访问频率,限速,仅供测试使用,不能用于自定义域名的 CNAME。建议还是使用自己的已经ICP备案的域名
  • CDN加速域名(自己的ICP备案的域名)提交后有个处理过程(官方说最多三个小时),处理完成后给你一个CNAME。 如何配置CNAME?
  • 配置好CNAME后,接下来实现编码工作。

编码实现

  • Nuget官方SDK
  • 获取AccessKey,SecretKey。登录七牛管理后台->个人信息->秘钥管理
  • 代码
 1 /// <summary> 2 ????????/// 实现将文件上传到七牛云 3 ????????/// </summary> 4 ????????/// <param name="stream">文件流</param> 5 ????????/// <param name="fileName">文件名称</param> 6 ????????/// <returns></returns> 7 ????????public UploadQiNiuResult UploadImgToQiNiu(byte[] stream, string fileName) 8 ????????{ 9 ????????????Mac mac = new Mac(BlogStatic.QiNiuInfo_AccessKey, BlogStatic.QiNiuInfo_SecretKey);10 ????????????// 上传策略,参见 11 ????????????// https://developer.qiniu.com/kodo/manual/put-policy12 ????????????PutPolicy putPolicy = new PutPolicy();13 ????????????// 如果需要设置为"覆盖"上传(如果云端已有同名文件则覆盖),请使用 SCOPE = "BUCKET:KEY"14 ????????????// putPolicy.Scope = bucket + ":" + saveKey;15 ????????????var saveKey = string.Format("BlogImg/{0}/", DateTime.Now.ToString("yyyy/MM/dd")) + fileName;16 ????????????putPolicy.Scope = "blog:" + saveKey;17 ????????????// 上传策略有效期(对应于生成的凭证的有效期) ?????????18 ????????????putPolicy.SetExpires(3600);19 ????????????// 上传到云端多少天后自动删除该文件,如果不设置(即保持默认默认)则不删除20 ????????????// putPolicy.DeleteAfterDays = 1;21 ????????????string jstr = putPolicy.ToJsonString();22 ????????????//获取上传凭证23 ????????????var uploadToken = Auth.CreateUploadToken(mac, jstr);24 ????????????UploadManager um = new UploadManager();25 26 ????????????HttpResult result = um.UploadData(stream, saveKey, uploadToken);27 28 ????????????if (result.Code == 200)29 ????????????{30 ????????????????return JsonConvert.DeserializeObject<UploadQiNiuResult>(result.Text);31 ????????????}32 ????????????return null;33 ????????}
  • UploadQiNiuResult类
  • 1 ????public class UploadQiNiuResult2 ????{3 ????????public string Hash { get; set; }4 ????????public string Key { get; set; }5 ????}

引用:

七牛官方文档

.Net Core实现将文件上传到七牛云存储

原文地址:http://www.cnblogs.com/q975261413/p/8046781.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved