WPF中的Image控件上传,保存,显示头像
//选择电脑上的图片显示到Image控件中 private void btnUpload_Click(object sender, RoutedEventArgs e) { // 打开文件对话框以选择要上传的图片 OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Image Files (*.jpg, *.jpeg, *.png, *.bmp)|*.jpg;*.jpeg;*.png;*.bmp"; if (openFileDialog.ShowDialog() == true) { // 将选定的图片文件加载到Image对象中 myImage.Source = new BitmapImage(new Uri(openFileDialog.FileName)); } }
保存是随机生成名字,保存到应用程序目录下的Images目录下,记得测试时在Debug目录下手工建立, 数据库里就存名字就行了
string _Photo = ""; #region 头像 try { string filename = Guid.NewGuid().ToString() + ".jpg"; var encoder = new PngBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create((BitmapSource)myImage.Source)); FileStream file = new FileStream($"Images/{filename}", FileMode.Create); encoder.Save(file); file.Close(); _Photo = filename; } catch (Exception ex) { }
#region 显示头像 if (!string.IsNullOrEmpty(u.Photo)) { string path = AppDomain.CurrentDomain.BaseDirectory + "Images"; BitmapImage bmp = new BitmapImage(); bmp.BeginInit(); bmp.UriSource = new Uri(path + "\\" + u.Photo); bmp.EndInit(); myImage.Source = bmp; } #endregion