首页 > 其他分享 >七牛云上传

七牛云上传

时间:2023-02-16 19:35:25浏览次数:62  
标签:putPolicy 七牛云 Qiniu result file 上传

.net 上传七牛云

七牛云快速入门文档:https://developer.qiniu.com/kodo/1233/console-quickstart

在使用之前首先要获取自己的AK和SK,地址>个人信息>密钥管理.

使用方法

通过NeGut下载Qiniu.Shared组件

创建文件管理控制器添加方法

如果向通过Swgger测试接口是否可用,需要在()加入IFormFile files
/// <summary>
        /// 简单上传-上传小文件
        /// </summary>
        [AllowAnonymous]//允许任何访问
        [HttpPost]
        public IActionResult UploadImgToQiNiu()

        {
            var formFile = HttpContext.Request.Form.Files;
            //这里的ak sk 可以写到配置文件中方便修改
            Mac mac = new Mac("你的AK", "你的SK");
            // 上传策略,参见 
            // https://developer.qiniu.com/kodo/manual/put-policy
            Qiniu.IO.Model.PutPolicy putPolicy = new Qiniu.IO.Model.PutPolicy();
            // 如果需要设置为"覆盖"上传(如果云端已有同名文件则覆盖),请使用 SCOPE = "BUCKET:KEY"
            // putPolicy.Scope = bucket + ":" + saveKey;  
            //上传储存的空间名称
            putPolicy.Scope = "上传空间名称";
            // 上传策略有效期(对应于生成的凭证的有效期)          
            putPolicy.SetExpires(3600);
            // 上传到云端多少天后自动删除该文件,如果不设置(即保持默认默认)则不删除
            // putPolicy.DeleteAfterDays = 1;
            string jstr = putPolicy.ToJsonString();
            //获取上传凭证
            var uploadToken = Auth.CreateUploadToken(mac, jstr);

            //false 使用https 自动识别存储空间            
            Qiniu.Common.Config.AutoZone("你的AK", "上传空间名称", false);

            Qiniu.IO.UploadManager um = new Qiniu.IO.UploadManager();
            foreach (IFormFile file in formFile)//获取多个文件列表集合
            {
                if (file.Length > 0)
                {
                    Stream stream = file.OpenReadStream();
                    //var fileName = ContentDispositionHeaderValue
                    //.Parse(file.ContentDisposition)
                    //.FileName
                    //.Trim('"');
                    string fileName = file.FileName.Substring(file.FileName.LastIndexOf('.')); //文件扩展名
                    //DateTime.Now.ToString("yyyyMMddHHmmssffffff")
                    var saveKey = "Pic/" + Guid.NewGuid().ToString("N") + fileName;//重命名文件加上时间戳 其中上传地址也可以配置s   
                    HttpResult result = um.UploadStream(stream, saveKey, uploadToken);

                    if (result.Code == 200)
                    {
                        return Ok(result.Text);
                    }
                    else
                    {
                        throw new Exception(result.RefText);//上传失败错误信息
                    }
                }
            }
            return null;
        }

VUE+Element访问接口

将上传路径换成自己方法对应的接口.

显示需要在七牛云上面查看图片详情,即可访问,

标签:putPolicy,七牛云,Qiniu,result,file,上传
From: https://www.cnblogs.com/Zhuo-Hu/p/17128008.html

相关文章

  • 七牛云上传
    .net上传七牛云七牛云快速入门文档:https://developer.qiniu.com/kodo/1233/console-quickstart在使用之前首先要获取自己的AK和SK,地址>个人信息>密钥管理.使用方法......
  • WebUploader上传大文件的三种解决方案
    ​ 第一点:Java代码实现文件上传FormFilefile=manform.getFile();StringnewfileName= null;Stringnewpathname= null;StringfileAddre= "/numUp";try{......
  • B/S上传大文件的三种解决方案
    ​PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。1.file_uploads=on/off 是否允许通过http方式上传文件2.max_execution_time=30 允许脚本最大执行时间......
  • C#.NET上传大文件的三种解决方案
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传......
  • 自定义批量上传一些逻辑
    <template><!--上传弹窗--><el-dialogtitle="上传文档"width="648px":close-on-press-escape="false":close-on-click-modal="false":vi......
  • .NET上传大文件的三种解决方案
    ​ HTML部分 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="up6.index" %><!DOCTYPE html PUBLIC "-//W3C//DTDXH......
  • 群晖 Synology Photos 无法备份或上传照片
    群晖SynologyPhotos无法备份或上传照片错误代码:无法进行操作,请稍后再试(apiexception:602)pc端提示需要开启个人空间,但是此功能是开着的,尝试关闭重新打开一下......
  • ASP.NET上传大文件的三种解决方案
    ​IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag      ......
  • Blazor 拖放上传文件转换格式并推送到浏览器下载
    前言昨天有个小伙伴发了一个老外java编写的小工具给我,功能是转换西班牙邮局快递Coreeosexpress的单据格式成Amazon格式,他的需求是改一下程序为匹配转换另一个快递公司M......
  • JavaWeb文件上传(感谢狂神)
    1、准备工作采用Apache的开源工具common-fileupload这个文件上传组件。common-fileupload是依赖于common-io这个包的,所以还需要下载这个包。(这两个jar包需要下载引入,Tomc......