将用户上传的文件存储在本地文件存储中,WPF C#

时间:2017-01-24 21:46:10

标签: c# wpf

如何将图像上传到WPF应用程序

如何存储在本地文件系统中上传的图像,以便它可以保留在加载到的文件中?

2 个答案:

答案 0 :(得分:0)

请勿尝试存储图像,只需从给定位置重新加载即可。将位置存储在项目的“设置”中。

enter image description here

例如,在该设置标签中,我们创建了一个名为FileName的字符串值,我们将其存储:

Settings.Default.FileName = op.FileName;
Settings.Default.Save();

然后当应用程序启动时,我们会调用它来加载它:

if (!String.IsNullOrEmpty(Settings.Default.FileName ))
 ... load file as you already have...

答案 1 :(得分:0)

定义功能:

public BitmapImage SavePhoto(string istrImagePath) 
{ 
  BitmapImage objImage = new BitmapImage(new Uri(istrImagePath, UriKind.RelativeOrAbsolute)); 
  objImage.DownloadCompleted += objImage_DownloadCompleted; 
  return objImage ; 
} 

然后,打电话给:

imagebox.Source =SavePhoto(op.FileName); 

并且不要忘记添加“objImage_DownloadCompleted”功能代码:

private void objImage_DownloadCompleted(object sender, EventArgs e)
  {
    JpegBitmapEncoder encoder = new JpegBitmapEncoder();
    Guid photoID = System.Guid.NewGuid();
    String photolocation = photoID.ToString() + ".jpg";  //file name 
    encoder.Frames.Add(BitmapFrame.Create((BitmapImage)sender));
    using (var filestream = new FileStream(photolocation, FileMode.Create))
      encoder.Save(filestream);
  } 

感谢Chris Baxter:link