Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将用户上载的文件存储在本地文件存储WPF C中#_C#_Wpf - Fatal编程技术网

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

C# 将用户上载的文件存储在本地文件存储WPF C中#,c#,wpf,C#,Wpf,如何将图像上载到WPF应用程序 如何将上载的图像存储在本地文件系统中,使其保留在加载到的文件中?不要尝试存储图像,只需从给定位置重新加载图像即可。将位置存储在项目的设置中 例如,在设置选项卡中,我们创建了一个名为FileName的字符串值,并将其存储: Settings.Default.FileName = op.FileName; Settings.Default.Save(); 然后,当应用程序启动时,我们打电话加载它: if (!String.IsNullOrEmpty(Setting

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


如何将上载的图像存储在本地文件系统中,使其保留在加载到的文件中?

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

例如,在设置选项卡中,我们创建了一个名为
FileName
的字符串值,并将其存储:

Settings.Default.FileName = op.FileName;
Settings.Default.Save();
然后,当应用程序启动时,我们打电话加载它:

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

定义功能:

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

归功于克里斯·巴克斯特:.

一个解决方案。只需添加“objImage”作为“SavePhoto()”的输出参数。当用户在本地更改图像位置时,不考虑此解决方案。将映像存储在项目目录中并加载其相对URI更安全