private async Task <History> Upload(ImgurPreset preset, string path, Dictionary <string, string> args, NameValueCollection headers) { await using (var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { var result = await WebHelper.SendFile("https://api.imgur.com/3/image", stream, path, args, headers, "image"); var response = Serializer.Deserialize <ImgurUploadResponse>(result); //Error when sending video. //{"data":{"errorCode":null,"ticket":"7234557b"},"success":true,"status":200} //{"data":{"error":"No image data was sent to the upload api","request":"\/3\/image","method":"POST"},"success":false,"status":400} if (response == null || (!response.Success && response.Status != 200)) { LogWriter.Log("It was not possible to upload to Imgur", result); return(new ImgurHistory { PresetName = preset.Title, DateInUtc = DateTime.UtcNow, Result = 400, Message = response?.Status + " - " + (response?.Data?.Error ?? result) }); } if (string.IsNullOrEmpty(response.Data?.Link)) { LogWriter.Log("It was not possible to upload to Imgur", result); return(new ImgurHistory { PresetName = preset.Title, DateInUtc = DateTime.UtcNow, Result = 400, Message = "Upload failed. The link was not provided." }); } var history = new ImgurHistory { PresetName = preset.Title, DateInUtc = DateTime.UtcNow, Result = 200, Id = response.Data.Id, Link = $"https://imgur.com/{response.Data.Id}", DeletionLink = $"https://imgur.com/delete/{response.Data.DeleteHash}", Mp4 = response.Data.Mp4, Webm = response.Data.Webm, Gifv = response.Data.Gifv, Gif = response.Data.Link }; return(history); } }
private void ClearAll_Click(object sender, RoutedEventArgs e) { if (MetroMessageBox.Show("Clear All History", "Are you sure you want to clear ALL archived uploads? This action cannot be undone.", MetroMessageBox.MessageBoxButtons.YesNo) != MetroMessageBox.MessageBoxResult.Yes) { return; } ImgurHistory.ClearEntries(); UpdateHistory(); }
private void HistoryDelete_Click(object sender, RoutedEventArgs e) { var senderEntry = (Settings.ImgurHistoryEntry)((Button)sender).DataContext; if (senderEntry == null) { return; } ImgurHistory.RemoveEntry(senderEntry); UpdateHistory(); }
private void imageUpload_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { doingAction.Visibility = Visibility.Collapsed; if (_imageID == null || (_imageID.Length < 5 && _imageID.Length > 9)) { MetroMessageBox.Show("Error", _imageID ?? "Error uploading image."); _imageID = null; } else { MetroImgurUpload.Show(_imageID); string _thumburl = string.Format("http://i.imgur.com/{0}b.jpg", _imageID); string _url = string.Format("http://i.imgur.com/{0}.jpg", _imageID); Dispatcher.Invoke(new Action(delegate { ImgurHistory.AddNewEntry(_datetime_long, _thumburl, _url); })); } }
public void ClearHistory() { ImgurConfiguration.RuntimeImgurHistory.Clear(); ImgurConfiguration.ImgurUploadHistory.Clear(); ImgurHistory.Clear(); }