如何通过 Gitee API 上传文件到指定仓库作为图床使用

18,033次阅读
没有评论

共计 923 个字符,预计需要花费 3 分钟才能阅读完成。

如何通过 Gitee API 上传文件到指定仓库作为图床使用

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

如何通过 Gitee API 上传文件到指定仓库作为图床使用

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

如何通过 Gitee API 上传文件到指定仓库作为图床使用

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

如何通过 Gitee API 上传文件到指定仓库作为图床使用

我们使用 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);
  });

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于1970-01-01发表,共计923字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)