void MediaUploadCallback(bool success, string response) { UploadMedia media = JsonUtility.FromJson <UploadMedia>(response); media_id = media.media_id.ToString(); //media_ids.Add(media.media_id); //if (media_ids.Count == 4) //{ // Dictionary<string, string> parameters = new Dictionary<string, string>(); // StringBuilder media_ids_string = new StringBuilder(); // foreach(long media_id in media_ids) // { // media_ids_string.Append(media_id.ToString() + ","); // } // media_ids_string.Length -= 1; // parameters["media_ids"] = media_ids_string.ToString(); // parameters["status"] = "スクリーンショット投稿テスト"; // StartCoroutine(Client.Post("statuses/update", parameters, OnPostStatusesUpdate)); //} Debug.Log("mediaUploadCallback"); Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters["media_ids"] = media_id; parameters["alt_text"] = "{\"text\":\"" + statusWithMedia + "\"}"; Debug.Log(parameters["alt_text"]); StartCoroutine(Client.Post("media/metadata/create", parameters, OnPostMediaMetadata)); }
public static async Task <HttpResponseMessage> Upload(String requestUrl, IList <MultipartUploadMedia> uploadMedias, string requestJson) { MultipartFormDataContent MultipartContent = new MultipartFormDataContent(); foreach (var UploadMedia in uploadMedias) { MultipartContent.Add(new StreamContent(UploadMedia.FileStream()), UploadMedia.PartName, UploadMedia.FileName); } if (requestJson != null) { StringContent JsonContent = new StringContent(requestJson, Encoding.UTF8, "application/json"); MultipartContent.Add(JsonContent, "request"); } HttpRequestMessage Request = new HttpRequestMessage { RequestUri = new Uri(requestUrl), Method = HttpMethod.Post, Content = MultipartContent }; using (HttpClient HttpClient = new HttpClient()) { return(await HttpClient.SendAsync(Request).ConfigureAwait(false)); } }
/// <summary> /// メディアをアップロードする。 /// </summary> /// <param name="attachment"></param> /// <returns>MediaID</returns> public Task <long> Upload(UploadMedia attachment) { using var sourceStream = attachment.GetDataStream(); return(this._account.Api.Media.Upload(sourceStream, attachment.Description, progress: attachment) .ContinueWithRan(m => m.Id)); }
//public static void PostMediaUpload(string status, byte[] media_raw_data, MonoBehaviour behaviour, TwitterCallback callback) //{ // statusForMediaUpload = status; // callbackForMediaUpload = callback; // behaviourForMediaUpload = behaviour; // //Dictionary<string, string> parameters = new Dictionary<string, string>(); // //parameters["media"] = media_raw_data.ToString(); // //behaviour.StartCoroutine(Client.MediaUpload(parameters, callback)); // behaviour.StartCoroutine(Client.MediaUpload(media_raw_data, PostMediaUploadCallback)); //} static void PostMediaUploadCallback(bool success, string response) { if (success) { UploadMedia media = JsonUtility.FromJson <UploadMedia>(response); PostStatusesUpdateWithMedia(statusForMediaUpload, media.media_id, behaviourForMediaUpload, callbackForMediaUpload); } else { GameObject.Find("SystemMessageHandler").GetComponent <SystemMessageHandler>().GenerateSystemMessage(response); } }
/// <summary> /// メディアをアップロードする。 /// </summary> /// <param name="attachment">メディア情報</param> /// <param name="account">アカウント情報</param> /// <returns>MediaID</returns> public Task <long> Upload(UploadMedia attachment) { var mediaApi = this._account.Api.Media; using var stream = attachment.GetDataStream(); bool isVideoUpload = attachment.MediaType.HasFlag(MediaType.Video); var uploadMediaType = isVideoUpload ? MimeTypes.Video.Mp4 : MimeTypes.OctetStream; var task = isVideoUpload ? mediaApi.ChunkedUpload(stream, uploadMediaType, null, attachment) : mediaApi.Upload(stream, null, attachment); return(task.ContinueWithRan(m => m.MediaId)); }
/// <summary> /// Callback method after uploading media to Twitter API /// </summary> /// <param name="success">Status after uploading media</param> /// <param name="response">Response received from Twitter API to get media_ids to update Tweet</param> void MediaUploadCallback(bool success, string response) { if (success) { UploadMedia media = JsonUtility.FromJson <UploadMedia>(response); Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters["media_ids"] = media.media_id.ToString(); parameters["status"] = $"I cleared level {this.level} with a score of {this.score}!"; StartCoroutine(Twity.Client.Post("statuses/update", parameters, StatusesUpdateCallback)); } else { Debug.Log(response); } }
private void MediaCallback(bool success, string response) { if (success) { UploadMedia media = JsonUtility.FromJson <UploadMedia>(response); Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters["media_ids"] = media.media_id.ToString(); parameters["status"] = message; StartCoroutine(Twity.Client.Post("statuses/update", parameters, Callback)); } else { Debug.Log(response); } }
public ActionResult UploadMedia(MediaUpload model) { if (Session["User"] == null) { return(Content("login")); } int UserId = ((Urdu_Magazine.Models.User)Session["User"]).id; if (ModelState.IsValid) { Dictionary <bool, string> uploadResults = uploadMediaFiles(model.Image); string result; if (uploadResults == null) { return(Content("Cannot create directory.")); } else if (uploadResults.TryGetValue(false, out result)) { ModelState.AddModelError(result, "Cannot upload this file. Try Again."); } else if (uploadResults.TryGetValue(true, out result)) { var fileNameAndImagePath = result.Split('>'); UploadMedia uploadMedia = new UploadMedia { imgName = model.Name, userId = UserId, imgFileName = fileNameAndImagePath[0], imgPath = fileNameAndImagePath[1] }; db.UploadMedias.Add(uploadMedia); db.SaveChanges(); return(Json(new { message = "success", Id = uploadMedia.Id, file = uploadMedia.imgName, path = uploadMedia.imgPath }, JsonRequestBehavior.AllowGet)); } } return(Content("failed")); }
protected override void Execute(object parameter) { if (Clipboard.ContainsImage()) { // TODO: できれば画像データ(byte配列など)で取得したい var attachment = UploadMedia.FromBitmapSource(Clipboard.GetImage(), UploadMedia.DisplayExtensions.Clipboard); this._viewModel.PostParameters.Attachments.Add(attachment); } else if (Clipboard.ContainsFileDropList()) { var files = Clipboard.GetFileDropList(); this._viewModel.PostParameters.Attachments.AddRange( GetEnableMediaFiles(files) .Select(file => UploadMedia.FromFile(file))); } }
protected override async void Execute(string parameter) { if (!IsPlayerRunning(parameter)) { this._viewModel.Messenger.Raise(new InformationMessage("再生情報の取得に失敗しました。:\nプレーヤが起動しているか確認してください。", App.Name, MessageBoxImage.Error, "MsgKey_InformationMessage")); return; } try { using var player = await GetPlayerFromId(parameter); var media = await player.GetCurrentMedia(); this._viewModel.TextBoxController.Insert(ReplaceMediaAlias(media, Setting.NowPlayingFormat)); if (Setting.InsertThumbnailAtNowPlayying) { try { foreach (var stream in media.Artworks) { var image = ImageUtil.CreateBitmapImage(stream); var attachment = UploadMedia.FromBitmapSource(image, UploadMedia.DisplayExtensions.Artwork); this._viewModel.PostParameters.Attachments.Add(attachment); } } catch { /* pass */ } } } catch (Exception ex) { this._viewModel.Messenger.Raise(new InformationMessage( $"再生情報の取得に失敗しました:\nプレーヤで楽曲が再生中かどうか確認してください。\n\nエラー:\n{ex.Message}", App.Name, MessageBoxImage.Error, "MsgKey_InformationMessage")); } }
protected override void Execute(OpeningFileSelectionMessage parameter) { var files = parameter.Response; if (files?.Any() == true && TweetWindowViewModel.HasEnableMediaFiles(files)) { this._viewModel.PostParameters.Attachments.AddRange(files.Select(path => UploadMedia.FromFile(path))); this._viewModel.UpdateCanPost(); } }