public static async void UploadRecordingToFileDotIO(AIR_API.Recording recording) { string expires = "/?expires=1w"; using (var httpClient = new HttpClient()) { using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://file.io" + expires)) { var multipartContent = new MultipartFormDataContent(); multipartContent.Add(new ByteArrayContent(File.ReadAllBytes(recording.FilePath)), "file", Path.GetFileName(recording.FilePath)); request.Content = multipartContent; var response = await httpClient.SendAsync(request); string result = await response.Content.ReadAsStringAsync(); dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(result); string url = jsonObj.link; string message = Management.UserLanguage.RecordingUploaded(url); Clipboard.SetText(url); MessageBox.Show(message); } } }
public static void OpenRecordingLocation() { if (Instance.GameRecordingList.SelectedItem != null) { AIR_API.Recording item = Instance.GameRecordingList.SelectedItem as AIR_API.Recording; if (File.Exists(item.FilePath)) { Process.Start("explorer.exe", "/select, " + item.FilePath); } } }
public static void CollectGameRecordings(ref ModManager Instance) { Instance.GameRecordingList.Items.Clear(); if (Management.ProgramPaths.GameRecordingsFolderDesiredPath == Management.ProgramPaths.GameRecordingSearchLocation.S3AIR_Custom) { if (Directory.Exists(Management.ProgramPaths.CustomGameRecordingsFolderPath)) { Instance.RecordingsLocationBrowse.Content = $"{Management.UserLanguage.GetOutputString("CustomWordString")} ({Management.ProgramPaths.CustomGameRecordingsFolderPath})"; } else { Instance.RecordingsLocationBrowse.Content = Instance.RecordingsLocationBrowse.Tag.ToString(); } Instance.RecordingsSelectedLocationBrowseButton.IsEnabled = true; } else { Instance.RecordingsSelectedLocationBrowseButton.IsEnabled = false; } if (Management.ProgramPaths.DoesSonic3AIRGameRecordingsFolderPathExist()) { Instance.recordingsErrorMessagePanel.Visibility = Visibility.Collapsed; string baseDirectory = Management.ProgramPaths.GetSonic3AIRGameRecordingsFolderPath(); if (Directory.Exists(baseDirectory)) { DirectoryInfo directoryInfo = new DirectoryInfo(baseDirectory); FileInfo[] fileInfo = directoryInfo.GetFiles("*.bin").ToArray(); foreach (var file in fileInfo) { try { AIR_API.Recording recording = new AIR_API.Recording(file); Instance.GameRecordingList.Items.Add(recording); } catch { //TODO : Add A Valid Catch Statement } } } } else { Instance.recordingsErrorMessage.Text = Instance.recordingsErrorMessage.Tag.ToString().Replace("{0}", Management.UserLanguage.FolderOrFileDoesNotExist(Management.ProgramPaths.GetSonic3AIRGameRecordingsFolderPath(), false)); Instance.recordingsErrorMessagePanel.Visibility = Visibility.Visible; } }
public static bool DeleteRecording(AIR_API.Recording recording) { if (MessageBox.Show(Management.UserLanguage.DeleteItem(recording.Name), "", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == System.Windows.Forms.DialogResult.Yes) { try { File.Delete(recording.FilePath); return(true); } catch { MessageBox.Show(Program.LanguageResource.GetString("UnableToDeleteFile"), "", MessageBoxButtons.OK, MessageBoxIcon.Error); return(true); } } else { return(false); } }
public static void CopyRecordingLocationToClipboard(AIR_API.Recording item) { Clipboard.SetText(item.FilePath); MessageBox.Show(Program.LanguageResource.GetString("RecordingPathCopiedToClipboard")); }