.NET CORE上传文件到码云仓库【搭建自己的图床】
.NET CORE上传文件到码云仓库【搭建自己的图床】
先建一个公共仓库(随意提交一个README文件或者.gitignore文件保证master分支的存在),然后到gitee的个人设置页面找到【私人令牌】菜单创建一个access_token。Gitee官方还友好的提供了基于swagger的API文档和调试页面: https://gitee.com/api/v5/swagger#/postV5ReposOwnerRepoContentsPath
搭建步骤
1.新建一个名为imagebed的仓库
- 按照码云正常建库步骤即可
 
2.为imagebed仓库创建master主分支
- [推荐]可以从本地向仓库随意提交一个README文件或.gitignore文件
 - 或者你用自己的方式也行,只要保证仓库具有一个
master分支即可 
3.到个人设置页面找到【私人令牌】生成新令牌
- 找到【私人令牌】

 - 生成新令牌

 
4.使用Gitee官网API文档简单测试文件上传
- 填写信息

 - 点击测试

 - 提交记录

 - 查看内容

 
使用方法
基于.NET CORE MVC项目实现
	/// <summary>
	/// 码云仓储文件上传API
	/// </summary>
	/// <param name="stream"></param>
	/// <param name="file"></param>
	/// <returns></returns>
	public async Task<(string url, bool success)> UploadGitee(Stream stream, string file)
	{
		string base64String = Convert.ToBase64String(stream.StreamToByte());
		string path = $"{DateTime.Now:yyyyMMdd}/{Path.GetFileName(file)}";
		using (var resp = await _httpClient.PostAsJsonAsync(AppConfig.GiteeConfig.ApiUrl + HttpUtility.UrlEncode(path), new
		{
			access_token = AppConfig.GiteeConfig.AccessToken,
			content = base64String,
			message = "上传一个文件"
		}))
		{
			if (resp.IsSuccessStatusCode || (await resp.Content.ReadAsStringAsync()).Contains("already exists"))
			{
				return (AppConfig.GiteeConfig.RawUrl + path, true);
			}
		}
		return await Task.Run(() => (null, false));
	}
    /// <summary>
    /// MVC上传文件
    /// </summary>
    /// <param name="file"></param>
    /// <returns></returns>
    [HttpPost("upload"), ApiExplorerSettings(IgnoreApi = false)]
    public async Task<ActionResult> UploadFile(IFormFile file)
    {
        var (url, success) = await _imagebedClient.UploadImage(file.OpenReadStream(), file.FileName);
        return await success ? Json(new { code = 1, msg = "success", data = url }) : Json(new { code = 0, msg = "failure" });
    }
完整案例:https://github.com/Run2948/ImageBedDemo
.NET CORE上传文件到码云仓库【搭建自己的图床】的更多相关文章
- Git 上传文件到 码云 gitee
		
1:git bash 执行如下 git config –global user.name “eason” git config –global user.email “your email@qq.co ...
 - 使用git上传项目解决码云文件次数上传限制(原文)
		
起因:个人免费版的码云上传文件时限制: 1个小时内只能上传20个文件 解决方法:在码云创建空的项目仓库,使用git客户端下载码云的项目,把需要上传的文件复制到该项目中去,用git提交! 1.配置git ...
 - 教你上传代码到码云(与github一样)
		
以下所有操作都在命令行进行 1 git 配置 git config --global user.name “用户名” git config --global user.email “邮箱”2 生成公钥 ...
 - 使用git从本地上传至git码云远程仓库
		
从 http://git-scm.com/download 下载window版的客户端.下载好,一步一步安装即可. 使用前的基本设置 git config --global user.name & ...
 - 关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手
		
关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手 本人菜鸟一枚,最近公司有需求要用到富文本编辑器,我选择的是百度的ueditor富文本编辑器,闲话不多说,进入正 ...
 - GIT的安装及上传代码到码云
		
前言 昨天初次接触GIT及码云,虽然用了2个多小时才搞定,但是还是挺开心的.码云是一个可以储存我们写的代码的一个平台,而Git是一款免费.开源的分布式版本控制系统,可以敏捷高效地处理任何或小或大的项目 ...
 - 在Eclipse里面使用git上传项目到码云
		
Eclispe上使用git 1.安装git 按照下图的步骤: 安装过就不用再安装了,没有安装的安装一下! 安装完毕之后:需要做一些初始化的设置: 2.上传项目到码云上 1.首先在码云上建立一个项目 2 ...
 - OSS上传文件到阿里云
		
最近做项目,需要上传文件,因为上传到项目路径下,感觉有时候也挺不方便的,就试了一下上传文件到阿里云oss上去了, oss的使用网上有很多介绍,都是去配置一下需要的数据,然后直接调用他的api就可以了. ...
 - .net Core 上传文件详解
		
.net core 和.net framework上传文件有很多需要注意的地方 .net framework 上传文件用httppostedfilebase .net core 上传文件用 IForm ...
 
随机推荐
- UWP入门(九)-- 枚举和查询文件和文件夹
			
原文:UWP入门(九)-- 枚举和查询文件和文件夹 核心 API 所在的命名空间: Windows.Storage Windows.Storage.Streams Windows.Storage.Pi ...
 - 一种基于Qt的可伸缩的全异步C/S架构服务器实现(一) 综述
			
本文向大家介绍一种基于Qt的伸缩TCP服务实现.该实现针对C/S客户端-服务集群应用需求而搭建.连接监听.数据传输.数据处理均在独立的线程池中进行,根据特定任务不同,可安排负责监听.传输.处理的线程数 ...
 - ThoughtWorks 面试备忘录
			
ThoughtWorks 面试备忘录 前言 前段时间 ThoughtWorks 在网上和拉勾网合作搞了一次网络招聘,名为抛弃简历!让代码说话!,可谓赚足了眼球,很多程序猿纷纷摩拳擦掌.踊跃提交代码,在 ...
 - Python正则表达式进阶-零宽断言
			
1. 什么是零宽断言 有时候在使用正则表达式做匹配的时候,我们希望匹配一个字符串,这个字符串的前面或后面需要是特定的内容,但我们又不想要前面或后面的这个特定的内容,这时候就需要零宽断言的帮助了.所谓零 ...
 - IT安全军火库-转
			
全球有260万信息安全专业人士,渗透测试工具是他们“安全军火库”中最常使用的装备,但直到最近,可用的渗透测试工具才丰富起来,但这也带来一个问题,挑选合适的渗透测试工具成了一件麻烦事,一个最简单的方法就 ...
 - Codility----PermMissingElem
			
Task description A zero-indexed array A consisting of N different integers is given. The array conta ...
 - pip升级到18.0版本过程中报错解决方法
			
我这台电脑是windows10系统,一般在cmd命令行界面下执行pip的升级命令:pip install –upgrade pip 安装的时候,会有拒绝访问报错:这个时候应该是权限的问题,于是在win ...
 - Spring Boot2(三):使用Spring Boot2集成Redis缓存
			
前言 前面一节总结了SpringBoot实现Mybatis的缓存机制,但是实际项目中很少用到Mybatis的二级缓存机制,反而用到比较多的是第三方缓存Redis. Redis是一个使用ANSI C编写 ...
 - 使用burpsuite进行重放攻击
			
原创博客,转载请注出处! 我的公众号,正在建设中,欢迎关注: 1.安装好burpsuite后打开程序,切换至proxy->intercipt,因为是重放攻击不用拦截数据包所以关闭intercep ...
 - 系统学习 Java IO (六)----管道流 PipedInputStream/PipedOutputStream
			
目录:系统学习 Java IO---- 目录,概览 PipedInputStream 类使得可以作为字节流读取管道的内容. 管道是同一 JVM 内的线程之间的通信通道. 使用两个已连接的管道流时,要为 ...