Ejemplo n.º 1
0
        private void btnUploadUserFile_Click(object sender, RoutedEventArgs e)
        {
            var openFileDialog = new Microsoft.Win32.OpenFileDialog();

            if (openFileDialog.ShowDialog() == true)
            {
                FileInfo file      = new FileInfo(openFileDialog.FileName);
                string   extension = file.Extension;
                if (extension == ".bmp" || extension == ".jpg" || extension == ".png" || extension == ".gif" || extension == ".BMP" || extension == ".JPG" || extension == ".PNG" || extension == ".GIF")
                {
                }
                else
                {
                    MessageBox.Show("请上传图片文件!");
                    return;
                }

                if (file.Length > 5 * 1024 * 1024)
                {
                    MessageBox.Show("文件不能超过5M");
                    return;
                }

                //lbCertificateApproveStatus.Content = "正在上传...";
                PauseGUI();
                Uri         uri     = new Uri(openFileDialog.FileName);
                BitmapImage bitmap0 = new BitmapImage(uri);
                BitmapImage bitmap1 = new BitmapImage();
                double      ratio   = maxBitmapSize / (double)file.Length;
                //if (file.Length > 200 * 1024)
                if (file.Length > maxBitmapSize)
                {
                    bitmap1.BeginInit();
                    bitmap1.UriSource         = uri;
                    bitmap1.DecodePixelWidth  = Convert.ToInt16(bitmap0.Width * ratio);
                    bitmap1.DecodePixelHeight = Convert.ToInt16(bitmap0.Height * ratio);
                    bitmap1.EndInit();
                }
                else
                {
                    bitmap1 = new BitmapImage(uri);
                }



                string certificateImagebase64String = ToBase64(bitmap1);

                string userid = _UserInfo.PhoneNumber;


                ThreadPool.QueueUserWorkItem(delegate
                {
                    UploadCertificateByAdminWorker.SendUploadCertificateRequest(
                        certificateImagebase64String,
                        userid,
                        successCallback : delegate(UploadCertificateByAdminResponse response)
                    {
                        Dispatcher.Invoke(new Action(delegate
                        {
                            _BitmapSourceCertificate   = bitmap1;
                            imageCertificate.Source    = _BitmapSourceCertificate;
                            _UserInfo.CertificateImage = certificateImagebase64String;

                            if (UpdateHandler != null)
                            {
                                UpdateHandler(sender, e);
                            }
                            MessageBox.Show("上传成功!");
                            ResumeGUI();
                        }));
                    },
                        failureCallback : delegate(string failureReason)
                    {
                        Dispatcher.Invoke(new Action(delegate
                        {
                            MessageBox.Show("医师资格证上传失败。" + failureReason, "", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                            ResumeGUI();
                        }));
                    },
                        errorCallback : delegate(Exception ex)
                    {
                        Dispatcher.Invoke(new Action(delegate
                        {
                            Util.ShowExceptionMessage(ex, "医师资格证上传出错。");
                            ResumeGUI();
                        }));
                    });
                });
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 上传医生资格证照片
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUploadPersonImage_Click(object sender, RoutedEventArgs e)
        {
            var openFileDialog = new Microsoft.Win32.OpenFileDialog();

            openFileDialog.FileName   = "资格证书";
            openFileDialog.DefaultExt = ".jpg";
            openFileDialog.Filter     = "jpg|*.jpg|jpeg|*.jpeg";
            if (openFileDialog.ShowDialog() == true)
            {
                FileInfo file      = new FileInfo(openFileDialog.FileName);
                string   extension = file.Extension;
                if (extension == ".bmp" || extension == ".jpg" || extension == ".png" || extension == ".gif" || extension == ".BMP" || extension == ".JPG" || extension == ".PNG" || extension == ".GIF")
                {
                }
                else
                {
                    MessageBox.Show("请上传图片文件!");
                    return;
                }

                if (file.Length > 5 * 1024 * 1024)
                {
                    MessageBox.Show("文件不能超过5M");
                    return;
                }

                lbCertificateApproveStatus.Content = "正在上传...";
                PauseGUI();
                Uri         uri     = new Uri(openFileDialog.FileName);
                BitmapImage bitmap0 = new BitmapImage(uri);
                BitmapImage bitmap1 = new BitmapImage();
                double      ratio   = maxBitmapSize / (double)file.Length;
                //if (file.Length > 200 * 1024)
                if (file.Length > maxBitmapSize)
                {
                    bitmap1.BeginInit();
                    bitmap1.UriSource         = uri;
                    bitmap1.DecodePixelWidth  = Convert.ToInt16(bitmap0.Width * ratio);
                    bitmap1.DecodePixelHeight = Convert.ToInt16(bitmap0.Height * ratio);
                    bitmap1.EndInit();
                }
                else
                {
                    bitmap1 = new BitmapImage(uri);
                }



                string base64String = ToBase64(bitmap1);

                ThreadPool.QueueUserWorkItem(delegate
                {
                    UploadCertificateByAdminWorker.SendUploadCertificateRequest(
                        base64String,
                        _userInfo.PhoneNumber,
                        successCallback : delegate(UploadCertificateByAdminResponse response)
                    {
                        Dispatcher.Invoke(new Action(delegate
                        {
                            _bitmapCertificate        = bitmap1;
                            imagePersonCertify.Source = bitmap1;
                            ResumeGUI();
                            //lbCertificateApproveStatus.Content = "等待工作人员审核";
                            GetCertificateApproveStatus();
                            _userInfo.CertificateImage = base64String;
                            MessageBox.Show("资格证书上传成功!");
                        }));
                    },
                        failureCallback : delegate(string failureReason)
                    {
                        Dispatcher.Invoke(new Action(delegate
                        {
                            ResumeGUI();
                            lbCertificateApproveStatus.Content = _certificateApproveStatus.Result;
                            MessageBox.Show(failureReason);
                        }));
                    },
                        errorCallback : delegate(Exception ex)
                    {
                        Dispatcher.Invoke(new Action(delegate
                        {
                            ResumeGUI();
                            LungCare.SupportPlatform.WebAPIWorkers.Util.ShowExceptionMessage(ex, "上传资格证书出错");
                            lbCertificateApproveStatus.Content = _certificateApproveStatus.Result;
                        }));
                    });
                });
            }
        }