保存在应用程序图像文件夹png文件,而无需使用savedialogfile(save png

2019-10-17 10:46发布

我使用savedialogfile保存PNG文件。 但我想将其保存在应用程序文件夹img。 我的代码如下:

if (lastSnapshot != null)//writableBitmap object lastSnapshot
        {
            var dlg = new SaveFileDialog();
            dlg.DefaultExt = ".png";
            dlg.Filter = "PNG File|*.png";
            if (dlg.ShowDialog() == true)
            {
                using (var pngStream = GetPngStream(lastSnapshot))//return Stream type 
                using (var file = dlg.OpenFile())
                {
                    byte[] binaryData = new Byte[pngStream.Length];
                    long bytesRead = pngStream.Read(binaryData, 0, (int)pngStream.Length);
                    file.Write(binaryData, 0, (int)pngStream.Length);
                    file.Flush();
                    file.Close();
                }
            }
        }

怎么做? 我会感激的人谁都会帮助我。 提前致谢。

我的邻问题

Answer 1:

if (lastSnapshot != null)//writableBitmap object lastSnapshot
{
     using (var pngStream = GetPngStream(lastSnapshot))//return Stream type 
     using (var file = File.Create(Path.Combine("ImageFolder", "ImageName.png")))
     {
         byte[] binaryData = new Byte[pngStream.Length];
         long bytesRead = pngStream.Read(binaryData, 0, (int)pngStream.Length);
         file.Write(binaryData, 0, (int)pngStream.Length);
     }
}


Answer 2:

假设ASP.net ...

您需要使用HttpServerUtility.MapPath来计算你的服务器上的路径的位置,并有可能调整该文件夹的权限,以允许IIS写在那里。

var filePath = Server.MapPath("images\\myFile.png");
using (var file = File.Create(filePath))
{
  pngStream.Copy(file);
}


文章来源: save png file in application image folder without using savedialogfile