.NET COREは、[自分のマップのベッドを構築するために、コード]クラウドリポジトリにファイルをアップロード

.NET COREは、[自分のマップのベッドを構築するために、コード]クラウドリポジトリにファイルをアップロード

トークンaccess_tokenはを作成するには、[プライベート]メニューを見つけるために、個人設定ページをgiteeし、その後、(.gitignoreマスターブランチがあることを保証するために、READMEファイルまたはファイルを提出して自由に感じる)公共倉庫を構築する最初の。Giteeの関係者はまたの友好とデバッグベースのAPIドキュメントページの闊歩を提供します。https://gitee.com/api/v5/swagger#/postV5ReposOwnerRepoContentsPath

ステップを構築

1.というファイルを作成imagebed倉庫

  • データベースを構築するためのコード雲通常の手順によると、

2. imagebed倉庫作成masterメインブランチを

  • [推奨]地元の倉庫からランダム.gitignoreするREADMEファイルやファイルを提出することができます
  • またはあなた自身の方法がある限り倉庫を持っているとしてもOKです使用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

おすすめ

転載: www.cnblogs.com/Run2948/p/10990044.html