如何通过 Gitee API 上传文件到指定仓库

简介: 首先,进入Gitee官方API文档:https://gitee.com/api/v5/swagger#/postV5ReposOwnerRepoContentsPath,找到仓库 --> 新建文件接口

首先,进入Gitee官方API文档:https://gitee.com/api/v5/swagger#/postV5ReposOwnerRepoContentsPath,找到仓库 --> 新建文件接口

3QD6@VL}Y])%]EBXCO{7}@X.png


该接口使用的是 POST 方法,接受 access_tokenownerrepopathcontentmessagebranch 等必要参数信息

]MP@2EX1{Z188A1NV75E_{R.png


请求成功后的返回结果数据结构如下

MN2U2S9)@K%U[3({(R}EBON.png


我们模拟请求测试通过后,来实现一个 Web 版 Gitee 上传图片的工具,我们需要在页面中添加一个上传文件的组件和参数配置的页面。根据以上模拟的结果,除了需要新建一个仓库,取得它的仓库名称、私人令牌、分支名外,其他是需要我们使用程序生成的

{NL0GJ)UURVH)TKQV3{MYMK.png


我们使用 axios 封装一个公共的请求方法 fetch

async function giteeUpload(content, filename) {
  const { username, repo, branch, accessToken } = getConfig();
  const dir = getDir();
  const dateFilename = getDateFilename(filename);
  const url = `https://gitee.com/api/v5/repos/${username}/${repo}/contents/${dir}/${dateFilename}`;
  const res = await fetch({
    url,
    method: "POST",
    data: {
      content,
      branch,
      access_token: accessToken,
      message: `Upload by ${window.location.href}`,
    },
  });
  return encodeURI(res.content.download_url);
}

我们需要在上传组件获取到文件,对文件内容进行 Base64 编码

export const toBase64 = (file) =>
  new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.readAsDataURL(file);
    reader.onload = () => resolve(reader.result.split(",").pop());
    reader.onerror = (error) => reject(error);
  });




目录
相关文章
|
5月前
|
敏捷开发 测试技术 API
云效产品使用常见问题之代码仓库不支持API文档如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
API
uniapp上传文件时用到的api是什么?格式是什么?
uniapp上传文件时用到的api是什么?格式是什么?
|
API 对象存储 网络架构
OSS restful API 调用 put,上传文件,python发http request示例
发送put 请求,向bucket中写入文件,代码中*** 的部分改成实际内容。rest请求主要问题在拼header时authorization可能会有问题,注意生成signature时的入参。#tested env: python version v3.9.6 #author: Fred #2022-1-11 import hmac import hashlib import base64 im
1164 0
|
5月前
|
API
uniapp上传文件api如何使用
uniapp上传文件api如何使用
392 3
|
测试技术 API 网络架构
利用百度云盘API上传文件至百度云盘
一、获取Access Token示例 1. 请您将以下HTTP请求直接粘贴到浏览器地址栏内,并按下回车键。 https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id=L6g70tBRRIXLsY0Z3...
3442 0
|
3月前
|
敏捷开发 缓存 弹性计算
阿里云云效产品使用合集之如何通过API接口往附件中上传文件
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
11月前
|
API
HDFS基本命令及上传文件API
HDFS基本命令及上传文件API
100 0
|
安全 API 开发工具
获取仓库列表接口可以通过SDK或者REST API两种方式调用
获取仓库列表接口可以通过SDK或者REST API两种方式调用
78 2
|
5月前
|
API
Uni-app 如何上传文件, 使用的API是什么
Uni-app 如何上传文件, 使用的API是什么
164 0
|
5月前
|
API
uniapp如何上传文件,使用API是什么
uniapp如何上传文件,使用API是什么
239 0