Exemplo n.º 1
0
        /// <summary>
        /// Sets the rest request parameters.
        /// </summary>
        /// <param name="registerInfoParam">Register info parameter.</param>
        private void SetRestRequestParams(HeadImgPostParam headImgPostParam)
        {
            if (!requestParams.ContainsKey("key"))
            {
                requestParams.Add("key", headImgPostParam.Key);
            }
            else
            {
                requestParams ["key"] = headImgPostParam.Key;
            }

            if (!requestParams.ContainsKey("eguid"))
            {
                requestParams.Add("eguid", headImgPostParam.Euid);
            }
            else
            {
                requestParams ["eguid"] = headImgPostParam.Euid;
            }

            if (!requestParams.ContainsKey("eimgstr"))
            {
                requestParams.Add("eimgstr", headImgPostParam.EimageStr);
            }
            else
            {
                requestParams ["eimgstr"] = headImgPostParam.EimageStr;
            }

            if (!requestParams.ContainsKey("md5"))
            {
                requestParams.Add("md5", headImgPostParam.Md5);
            }
            else
            {
                requestParams ["md5"] = headImgPostParam.Md5;
            }
        }
Exemplo n.º 2
0
        private void SetPicToLocalAndServer(Bitmap mBitmap)
        {
            var sdStatus = Android.OS.Environment.ExternalStorageState;

            //检测sd是否可用
            if (!sdStatus.Equals(Android.OS.Environment.MediaMounted))
            {
                return;
            }
            System.IO.FileStream MyFileStream = null;

            Java.IO.File file = new Java.IO.File(path);
            if (!file.Exists())
            {
                file.Mkdirs();                // 创建文件夹
            }
            string fileName = path + "myHead.jpg";

            try{
                MyFileStream = new System.IO.FileStream(fileName, System.IO.FileMode.OpenOrCreate);
                //保存照片
                mBitmap.Compress(Bitmap.CompressFormat.Jpeg, 100, MyFileStream);

                byte[] buffer = new byte[MyFileStream.Length];
                // 设置当前流的位置为流的开始
                MyFileStream.Seek(0, SeekOrigin.Begin);
                MyFileStream.Read(buffer, 0, buffer.Length);


                var headimgStr = Convert.ToBase64String(buffer);
                //调用restapi提交头像
                var headImgPostParam = new HeadImgPostParam()
                {
                    UId = Global.MyInfo.UId, ImageStr = headimgStr
                };
                SetRestRequestParams(headImgPostParam);
                var restSharpRequestHelp = new RestSharpRequestHelp(headImgPostParam.Url, requestParams);
                restSharpRequestHelp.ExcuteAsync((RestSharp.IRestResponse response) => {
                    if (response.ResponseStatus == RestSharp.ResponseStatus.Completed && response.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        //获取并解析返回resultJson获取安全码结果值
                        var result      = response.Content;
                        var headimgJson = JsonConvert.DeserializeObject <HeadImgJson>(result);
                        if (headimgJson.statuscode == "1")
                        {
                            Global.MyInfo.HeadImgUrl = headimgJson.data[0].HeadImgUrl;
                        }
                        else
                        {
                            Activity.RunOnUiThread(() =>
                            {
                                Toast.MakeText(Activity, "头像上传失败", ToastLength.Short).Show();
                            });
                        }
                    }
                });
            }
            catch (Java.IO.FileNotFoundException e) {
                e.PrintStackTrace();
            }
            finally {
                MyFileStream.Flush();
                MyFileStream.Close();
            }
        }