private bool RequestUploadUrl(out RequestUploadUrlResponse uploadDetails) { RequestUploadUrlRequest requestbody = new RequestUploadUrlRequest(); requestbody.registerUploadRequest.owner = String.Format("urn:li:person:{0}", lblUserID.Text); RequestUploadUrlResponse obj = null; LinkedInLibrary.BaseRequest.Post <RequestUploadUrlResponse, LinkedInErrorResponse>( LinkedInLibrary.Constants.URLs._registerupload, lblAccessToken.Text, () => { string s = JsonConvert.SerializeObject(requestbody); return(new StringContent(s, Encoding.UTF8, "application/json")); }, (response) => { obj = response; return(null); }, HandleErrorResponse ); uploadDetails = obj; return(uploadDetails == null ? false : true); }
protected void btnPostImageToCompany_Click(object sender, EventArgs e) { if (fileUploadPostImageToCompany.HasFile) { string fileAddress = ""; try { fileAddress = SaveFile(fileUploadPostImageToCompany.PostedFile); } catch (Exception ex) { fileAddress = ""; } if (!string.IsNullOrEmpty(fileAddress)) { RequestUploadUrlResponse uploadDetails = null; if (RequestUploadUrl(out uploadDetails)) { //string imagepath = SaveFile(fileUpload.PostedFile); if (UploadImageBinaryFile(uploadDetails, fileAddress)) { CreateImageShareRequest requestbody = new CreateImageShareRequest(); requestbody.author = GetSelectedOrganization(); Media media = new Media(); media.description.text = ""; //does not render on image post media.title.text = ""; //does not render on image post media.media = uploadDetails.value.asset; requestbody.specificContent.shareContent.shareCommentary.text = txtPostImageToCompany.Text; requestbody.specificContent.shareContent.media = new List <Media>() { media }; LinkedInLibrary.BaseRequest.Post <LinkedInShare, LinkedInErrorResponse>( LinkedInLibrary.Constants.URLs._ugcposts, lblAccessToken.Text, () => { string s = JsonConvert.SerializeObject(requestbody); return(new StringContent(s, Encoding.UTF8, "application/json")); }, (LinkedInShare share) => { divError.Visible = false; divSuccess.Visible = true; lblShareURN.Text = share.ShareURN; btnGetPost.Visible = true; return(null); }, HandleErrorResponse ); } } } } }
private bool UploadImageBinaryFile(RequestUploadUrlResponse uploadDetails, string fileAddress) { bool isSuccess = false; LinkedInLibrary.BaseRequest.Post <object, LinkedInErrorResponse>( uploadDetails.value.uploadMechanism.mediaUploadHttpRequest.uploadUrl, lblAccessToken.Text, () => { return(new ByteArrayContent(File.ReadAllBytes(fileAddress))); }, (response) => { isSuccess = CheckUploadStatus(uploadDetails.value.GetAssetID); return(null); }, HandleErrorResponse, null, "PUT", false ); return(isSuccess); }