无法使用 asp.net 将图像上传到 imgur
Can't upload an image to imgur with asp.net
我正在做一个需要将图片上传到 imgur.com 的项目,我写了代码,但是在发布部分时没有用!有什么建议吗?
private async Task<string> UploadImageAsync(string imageDataBase64String)
{
client = new HttpClient();
client.BaseAddress = new Uri("https://api.imgur.com/3/");
client.DefaultRequestHeaders.Add("Authorization", "Client-id " + ClientID);
HttpContent contentPost = new StringContent(imageDataBase64String);
var response = await client.PostAsync("image", contentPost);
response.EnsureSuccessStatusCode();
var responseContent = await response.Content.ReadAsStringAsync();
var model = new JavaScriptSerializer().Deserialize<dynamic>(responseContent);
var imageLink = model["data"]["link"];
return imageLink;
}
我正在做类似的项目,我是这样做的。
为 imgur 响应创建视图模型:
public class ImgurResponseViewModel
{
public ImgurImageDataViewModel Data { get; set; }
public bool Success { get; set; }
public int Status { get; set; }
}
为图像数据创建视图模型:
public class ImgurImageDataViewModel
{
public string Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Datetime { get; set; }
public string Type { get; set; }
public bool Animated { get; set; }
public int Width { get; set; }
public int Height { get; set; }
public int Size { get; set; }
public int Views { get; set; }
public int Bandwidth { get; set; }
public string Ddeletehash { get; set; }
public string Section { get; set; }
public string Link { get; set; }
public string Account_url { get; set; }
public int Aaccount_id { get; set; }
}
这是上传代码:
private async Task<string> UploadImageAsync(string imageDataBase64String)
{
byte[] response;
using (var client = new WebClient())
{
string clientID = "YourClientID";
client.Headers.Add("Authorization", "Client-ID " + clientID);
var values = new NameValueCollection { { "image", imageDataBase64String } };
response = await client.UploadValuesTaskAsync("https://api.imgur.com/3/upload", values);
}
var result = JsonConvert.DeserializeObject<ImgurResponseViewModel>(Encoding.ASCII.GetString(response));
return result.Data.Link;
}
希望对您有所帮助。
我正在做一个需要将图片上传到 imgur.com 的项目,我写了代码,但是在发布部分时没有用!有什么建议吗?
private async Task<string> UploadImageAsync(string imageDataBase64String)
{
client = new HttpClient();
client.BaseAddress = new Uri("https://api.imgur.com/3/");
client.DefaultRequestHeaders.Add("Authorization", "Client-id " + ClientID);
HttpContent contentPost = new StringContent(imageDataBase64String);
var response = await client.PostAsync("image", contentPost);
response.EnsureSuccessStatusCode();
var responseContent = await response.Content.ReadAsStringAsync();
var model = new JavaScriptSerializer().Deserialize<dynamic>(responseContent);
var imageLink = model["data"]["link"];
return imageLink;
}
我正在做类似的项目,我是这样做的。
为 imgur 响应创建视图模型:
public class ImgurResponseViewModel { public ImgurImageDataViewModel Data { get; set; } public bool Success { get; set; } public int Status { get; set; } }
为图像数据创建视图模型:
public class ImgurImageDataViewModel { public string Id { get; set; } public string Title { get; set; } public string Description { get; set; } public string Datetime { get; set; } public string Type { get; set; } public bool Animated { get; set; } public int Width { get; set; } public int Height { get; set; } public int Size { get; set; } public int Views { get; set; } public int Bandwidth { get; set; } public string Ddeletehash { get; set; } public string Section { get; set; } public string Link { get; set; } public string Account_url { get; set; } public int Aaccount_id { get; set; } }
这是上传代码:
private async Task<string> UploadImageAsync(string imageDataBase64String) { byte[] response; using (var client = new WebClient()) { string clientID = "YourClientID"; client.Headers.Add("Authorization", "Client-ID " + clientID); var values = new NameValueCollection { { "image", imageDataBase64String } }; response = await client.UploadValuesTaskAsync("https://api.imgur.com/3/upload", values); } var result = JsonConvert.DeserializeObject<ImgurResponseViewModel>(Encoding.ASCII.GetString(response)); return result.Data.Link; }
希望对您有所帮助。