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