/// <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; }
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 (); } }