Bearbeiten: Ich habe festgestellt, dass der Dateiinhalt das Format nicht erfüllt hat. Nachdem ich unten geändert habe, kann es jetzt funktionieren. < /P>
Code: Select all
private static async Task ImportProject()
{
string token = "myGitAccessToken";
string projPath = "D:\Export\myProj.tar.gz";
string projName = "myProj";
int parentId = 1;
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Add("PRIVATE-TOKEN", token);
using (var form = new MultipartFormDataContent())
{
//form.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(projPath)), "file", "myProj.tar.gz");
form.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(filePath)), "file", $"@{projPath}");
form.Add(new StringContent("myProj"), "name");
form.Add(new StringContent("myproj"), "path");
form.Add(new StringContent(parentId.ToString()), "namespace");
var response = await client.PostAsync("https://myGitlab.com/api/v4/projects/import", form)
//Seems not went here
response.EnsureSuccessStatusCode();
var resStr = await response.Content.ReadAsStringAsync();
}
}
}