.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

原文地址:https://www.cnblogs.com/Run2948/p/10990044.html

时间: 2024-10-12 03:57:27

.NET CORE上传文件到码云仓库【搭建自己的图床】的相关文章

上传项目到码云

以下所有操作都在命令行进行 1 git 配置git config --global user.name "用户名" git config --global user.email "邮箱" 2 生成公钥私钥 #ssh-keygen -t rsa -C "[email protected]"一路Enter下去,将生成的公钥填在码云上 #cat ~/.ssh/id_rsa.pub 3建立git仓库 在你的项目文件夹下执行git命令 git init 4

教你上传代码到码云(与github一样)

以下所有操作都在命令行进行 1 git 配置 git config --global user.name "用户名" git config --global user.email "邮箱"2 生成公钥私钥 #ssh-keygen -t rsa -C "[email protected]" 一路Enter下去,将生成的公钥填在码云上 #cat ~/.ssh/id_rsa.pub 3建立git仓库 在你的项目文件夹下执行git命令 git init

OSS上传文件到阿里云

最近做项目,需要上传文件,因为上传到项目路径下,感觉有时候也挺不方便的,就试了一下上传文件到阿里云oss上去了, oss的使用网上有很多介绍,都是去配置一下需要的数据,然后直接调用他的api就可以了. 这里贴一段可以直接使用的oss代码,有需要的可以自己参考下. @Controller @RequestMapping("/ossfile") public class OSSFileController { @Autowired private EventidService eventi

angulaijs中的ng-upload-file与阿里云oss服务的结合,实现在浏览器端上传文件到阿里云(速度可以达到1.5M)

angularjs结合aliyun浏览器端oos文件上传加临时身份验证例子 在服务端获取sts 源码: public class StsServiceSample { // 目前只有"cn-hangzhou"这个region可用, 不要使用填写其他region的值 //<setting name="accessKeyId" value="H6JSh0Y****z2cGa" /> //<setting name="ecr

eclipse基于git上传项目到码云上

前言 最近做了两个框架整合的demo,为了以后温习,以及为新人提供参考,打算将项目发布到开源网站-码云上,网上查了些资料,终于搞定,那么我们开始把. 1.eclipse安装git插件 具体我也做过,因为我下载的eclipse版本以及由git插件,如果你的eclipse上没有git,那么请你自己百度"eclipse安装git插件". 如何查看自己的eclipse是否安装了git插件呢?下面的图,你一看就明白. 2.注册码云的账号,创建项目 下面的图主要获取上传url 3.创建项目 下面的

[moka同学代码]PHP初级知识:上传文件源码

1.目录结构 2.index.php <html> <head> <meta charset="utf-8"> <title>上传文件</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <l

Mac 上传项目到码云

第一步:建立本地git仓库 cd到你的本地项目根目录下,执行git命令 git init 第二步:将本地项目工作区的所有文件添加到暂存区 git add . .表示所有文件 如果想添加项目中的指定文件,那就把.改为指定文件名即可 第三步:将暂存区的文件提交到本地仓库 git commit -m "" 冒号里面写注释语句 第四步:在码云上创建自己的项目,创建如图所示 这里的名字需要和你的项目名字保持一致,路径后面填的也和你的项目保持一致,可以选择公有和私有 点击下面的创建就会进入下面这个

Mac 上传项目到码云(gitee)

第一步:建立本地git仓库 cd到你的本地项目根目录下,执行git命令   git init 第二步:将本地项目工作区的所有文件添加到暂存区 git add .   .表示所有文件   如果想添加项目中的指定文件,那就把.改为指定文件名即可 第三步:将暂存区的文件提交到本地仓库 git commit -m ""   冒号里面写注释语句 第四步:在码云上创建自己的项目,创建如图所示 这里的名字需要和你的项目名字保持一致,路径后面填的也和你的项目保持一致,可以选择公有和私有点击下面的创建就

使用idea上传项目到码云

首先,基本流程是这样的:       1.在码云生成SSH公钥       2.在码云创建项目      3.克隆项目到本地      4.在本地创建项目      5.搭建本地仓库,关联远程仓库      6.使用IDEA版本控制工具,提交到码云 1.在码云生成SSH公钥      请自行百度 2.在码云创建项目     3.克隆项目到本地 SSH在用git创建本地仓库时会用 4.在本地创建项目      直接在项目文件夹下创建本地仓库 5.搭建本地仓库,关联远程仓库      第一步先设置全