我試圖將文件保存在我的項目bin文件夾中。由於某種原因,當我給它一個字符串作爲路徑,如當保存位圖時發生GDI +異常時發生通用錯誤
string filePath = @"C:\Users\Craig\Documents\Visual Studio 2015\Projects\CreateTextExample\CreateTextExample\bin\ErrorLog";
Thread.Sleep(100);
bitmap.Save([email protected]"\ErrorImage.Bmp", ImageFormat.Bmp);
它保存文件罰款。然而,當我試圖挽救它喜歡
string filePath = System.IO.Directory.GetCurrentDirectory() + @"\ErrorLog";
Thread.Sleep(100);
bitmap.Save([email protected]"\ErrorImage.Bmp", ImageFormat.Bmp);
我得到一個運行時錯誤說A generic error occurred in GDI+
不知道爲什麼發生這種情況。最初我以爲它可能是文件夾權限,但是這似乎並不是這種情況,因爲它使用第一種方法。
任何想法爲什麼會發生這種情況?
我的代碼如下
string currentContent = String.Empty;
bitmap = new Bitmap(System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width, System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height);
Graphics graphics = Graphics.FromImage(bitmap as Image);
graphics.CopyFromScreen(0, 0, 0, 0, bitmap.Size);
string filePath = System.IO.Directory.GetCurrentDirectory() + @"\ErrorLog";
Thread.Sleep(100);
bitmap.Save([email protected]"\ErrorImage.Bmp", ImageFormat.Bmp);
你爲什麼睡覺的線程?此外,使用['System.IO.Path.Combine'](https://msdn.microsoft.com/en-us/library/system.io.path.combine(v = vs.110).aspx)進行並置路徑,更乾淨。 – MrZander
異常堆棧可能很有用 – eschneider
「它使用第一種方法」。當你消除了不可能的時候,無論如何,儘管不可能,但一定是事實。 System.IO.Directory.GetCurrentDirectory()是否返回你認爲它返回的內容?在第二種方法中是'filePath'' C:\ Users \ Craig \ Documents \ Visual Studio 2015 \ Projects \ CreateTextExample \ CreateTextExample \ bin \ ErrorLog'嗎? –