Ejemplo n.º 1
0
 public void SaveProfilePhoto(Rect thumbnailRect, byte[] photoData, Action <BackendResult <ProfilePhoto, ResultCode> > callback)
 {
     this.GetPhotoUploadServer((Action <BackendResult <UploadServerAddress, ResultCode> >)(res =>
     {
         if (res.ResultCode != ResultCode.Succeeded)
         {
             callback(new BackendResult <ProfilePhoto, ResultCode>(res.ResultCode));
         }
         else
         {
             string uploadUrl = res.ResultData.upload_url;
             // ISSUE: explicit reference operation
             if (((Rect)@thumbnailRect).Width != 0.0)
             {
                 // ISSUE: explicit reference operation
                 // ISSUE: explicit reference operation
                 // ISSUE: explicit reference operation
                 string str = string.Format("&_square_crop={0},{1},{2}&_full={0},{1},{2},{2}", (int)((Rect)@thumbnailRect).X, (int)((Rect)@thumbnailRect).Y, (int)((Rect)@thumbnailRect).Width);
                 uploadUrl += str;
             }
             MemoryStream memoryStream = new MemoryStream(photoData);
             JsonWebRequest.Upload(uploadUrl, (Stream)memoryStream, "photo", "image", (Action <JsonResponseData>)(jsonResult =>
             {
                 if (!jsonResult.IsSucceeded)
                 {
                     callback(new BackendResult <ProfilePhoto, ResultCode>(ResultCode.UnknownError));
                 }
                 else
                 {
                     this.SaveProfilePhoto(JsonConvert.DeserializeObject <UploadPhotoResponseData>(jsonResult.JsonString), callback);
                 }
             }), "MyImage.jpg", null, null);
         }
     }));
 }
Ejemplo n.º 2
0
 public void UploadPhotoToAlbum(string aid, long optionalGroupId, byte[] photoData, Action <BackendResult <Photo, ResultCode> > callback)
 {
     this.GetPhotoUploadServerAlbum(aid, optionalGroupId, (Action <BackendResult <UploadServerAddress, ResultCode> >)(getUplResp =>
     {
         if (getUplResp.ResultCode != ResultCode.Succeeded)
         {
             callback(new BackendResult <Photo, ResultCode>(getUplResp.ResultCode));
         }
         else
         {
             string uploadUrl          = getUplResp.ResultData.upload_url;
             MemoryStream ms           = new MemoryStream(photoData);
             MemoryStream memoryStream = ms;
             string paramName          = "file1";
             string uploadContentType  = "image";
             Action <JsonResponseData> resultCallback = (Action <JsonResponseData>)(jsonResult =>
             {
                 ms.Close();
                 if (!jsonResult.IsSucceeded)
                 {
                     callback(new BackendResult <Photo, ResultCode>(ResultCode.UnknownError));
                 }
                 else
                 {
                     UploadPhotoResponseData uploadData = JsonConvert.DeserializeObject <UploadPhotoResponseData>(jsonResult.JsonString);
                     this.SavePhoto(uploadData.aid, optionalGroupId, uploadData, callback);
                 }
             });
             string fileName = "MyImage.jpg";
             // ISSUE: variable of the null type
             // ISSUE: variable of the null type
             JsonWebRequest.Upload(uploadUrl, (Stream)memoryStream, paramName, uploadContentType, resultCallback, fileName, null, null);
         }
     }));
 }
Ejemplo n.º 3
0
        public void UploadVideo(Stream stream, bool isPrivate, long albumId, long groupId, string name, string description, Action <BackendResult <SaveVideoResponse, ResultCode> > callback, Action <double> progressCallback = null, Cancellation c = null, PrivacyInfo privacyViewInfo = null, PrivacyInfo privacyCommentInfo = null)
        {
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters["is_private"] = isPrivate ? "1" : "0";
            if (groupId != 0L)
            {
                parameters["group_id"] = groupId.ToString();
            }
            if (albumId != 0L)
            {
                parameters["album_id"] = albumId.ToString();
            }
            if (!string.IsNullOrEmpty(name))
            {
                parameters["name"] = name;
            }
            if (!string.IsNullOrEmpty(description))
            {
                parameters["description"] = description;
            }
            if (privacyViewInfo != null && groupId == 0L)
            {
                parameters["privacy_view"] = privacyViewInfo.ToString();
            }
            if (privacyCommentInfo != null && groupId == 0L)
            {
                parameters["privacy_comment"] = privacyCommentInfo.ToString();
            }
            VKRequestsDispatcher.DispatchRequestToVK <SaveVideoResponse>("video.save", parameters, (Action <BackendResult <SaveVideoResponse, ResultCode> >)(res =>
            {
                if (res.ResultCode != ResultCode.Succeeded)
                {
                    callback(new BackendResult <SaveVideoResponse, ResultCode>(res.ResultCode));
                }
                else
                {
                    SaveVideoResponse svr = res.ResultData;
                    JsonWebRequest.Upload(svr.upload_url, stream, "video_file", "video", (Action <JsonResponseData>)(uploadRes =>
                    {
                        if (uploadRes.IsSucceeded)
                        {
                            callback(new BackendResult <SaveVideoResponse, ResultCode>(ResultCode.Succeeded, svr));
                        }
                        else
                        {
                            callback(new BackendResult <SaveVideoResponse, ResultCode>(ResultCode.UnknownError));
                        }
                    }), null, progressCallback, c);
                }
            }), null, false, true, new CancellationToken?(), null);
        }
Ejemplo n.º 4
0
 public void UploadAudio(Stream stream, string artist, string title, Action <BackendResult <AudioObj, ResultCode> > callback, Action <double> progressCallback = null, Cancellation cancellation = null)
 {
     VKRequestsDispatcher.DispatchRequestToVK <VKClient.Common.Backend.DataObjects.UploadServerAddress>("audio.getUploadServer", new Dictionary <string, string>(), (Action <BackendResult <VKClient.Common.Backend.DataObjects.UploadServerAddress, ResultCode> >)(result =>
     {
         if (result.ResultCode != ResultCode.Succeeded)
         {
             callback(new BackendResult <AudioObj, ResultCode>(result.ResultCode));
         }
         else
         {
             JsonWebRequest.Upload(result.ResultData.upload_url, stream, "file", "audio", (Action <JsonResponseData>)(uploadResult =>
             {
                 if (!uploadResult.IsSucceeded)
                 {
                     callback(new BackendResult <AudioObj, ResultCode>(ResultCode.UploadingFailed));
                 }
                 else
                 {
                     UploadResponseData uploadResponseData = JsonConvert.DeserializeObject <UploadResponseData>(uploadResult.JsonString);
                     VKRequestsDispatcher.DispatchRequestToVK <AudioObj>("audio.save", new Dictionary <string, string>()
                     {
                         {
                             "server",
                             uploadResponseData.server
                         },
                         {
                             "audio",
                             uploadResponseData.audio
                         },
                         {
                             "hash",
                             uploadResponseData.hash
                         },
                         {
                             "artist",
                             artist
                         },
                         {
                             "title",
                             title
                         }
                     }, callback, null, false, true, new CancellationToken?(), null);
                 }
             }), "track.mp3", progressCallback, cancellation);
         }
     }), (Func <string, VKClient.Common.Backend.DataObjects.UploadServerAddress>)null, false, true, new CancellationToken?(), null);
 }
Ejemplo n.º 5
0
 public void UploadProfilePhoto(byte[] photoData, Action <BackendResult <UploadPhotoResponseData, ResultCode> > callback)
 {
     this.GetPhotoUploadServer((Action <BackendResult <UploadServerAddress, ResultCode> >)(res =>
     {
         if (res.ResultCode != ResultCode.Succeeded)
         {
             callback(new BackendResult <UploadPhotoResponseData, ResultCode>(res.ResultCode));
         }
         else
         {
             JsonWebRequest.Upload(res.ResultData.upload_url, (Stream) new MemoryStream(photoData), "photo", "image", (Action <JsonResponseData>)(jsonResult =>
             {
                 if (!jsonResult.IsSucceeded)
                 {
                     callback(new BackendResult <UploadPhotoResponseData, ResultCode>(ResultCode.UnknownError));
                 }
                 else
                 {
                     callback(new BackendResult <UploadPhotoResponseData, ResultCode>(ResultCode.Succeeded, JsonConvert.DeserializeObject <UploadPhotoResponseData>(jsonResult.JsonString)));
                 }
             }), "MyImage.jpg", null, null);
         }
     }));
 }
Ejemplo n.º 6
0
 public void UploadPhotoToWall(long userOrGroupId, bool isGroup, byte[] photoData, Action <BackendResult <Photo, ResultCode> > callback, Action <double> progressCallback = null, Cancellation c = null)
 {
     this.GetPhotoUploadServerWall(userOrGroupId, isGroup, (Action <BackendResult <UploadServerAddress, ResultCode> >)(getUplResp =>
     {
         if (getUplResp.ResultCode != ResultCode.Succeeded)
         {
             callback(new BackendResult <Photo, ResultCode>(getUplResp.ResultCode));
         }
         else
         {
             JsonWebRequest.Upload(getUplResp.ResultData.upload_url, (Stream) new MemoryStream(photoData), "file1", "image", (Action <JsonResponseData>)(jsonResult =>
             {
                 if (!jsonResult.IsSucceeded)
                 {
                     callback(new BackendResult <Photo, ResultCode>(ResultCode.UnknownError));
                 }
                 else
                 {
                     this.SaveWallPhoto(userOrGroupId, isGroup, JsonConvert.DeserializeObject <UploadPhotoResponseData>(jsonResult.JsonString), callback);
                 }
             }), "MyImage.jpg", progressCallback, c);
         }
     }));
 }