2010-06-02 282 views
2

HI。我知道這是一個簡單的問題,但當我使用C#:將圖像保存到文件夾

FirstPersonTestImage.Save(IIdComboBox.Text + "-" + i + ".jpg"); 

它的工作原理並將文件保存到.exe文件所在的文件夾。但我想將其保存到特定的文件夾如/照片/ IO-66 /和tryed使用

String StudentPath = PhotoPath + IGroupNoComboBox.Text + "/" + IIdComboBox.Text + "/" + IIdComboBox.Text + "-" + i + ".jpg"; 

FirstPersonTestImage.Save(StudentPath); 

但它給

An unhandled exception of type 'System.Runtime.InteropServices.ExternalException' occurred in System.Drawing.dll 

我怎樣才能解決這個問題?是關於文件夾路徑嗎?或使用「/」?

編輯

這裏我創建和檢查現有的或不代碼文件夾

if (!System.IO.Directory.Exists(PhotoPath + "/" + IGroupNoComboBox.Text.ToString().Trim())) 
      { 

       Directory.CreateDirectory(PhotoPath + "/" + IGroupNoComboBox.Text.ToString().Trim()); 


      } 

      if (!System.IO.Directory.Exists(PhotoPath + "/" + IGroupNoComboBox.Text.ToString().Trim()+ "/" + IIdComboBox.Text.ToString().Trim() + "/")) 
      { 

       Directory.CreateDirectory(PhotoPath + "/" + IGroupNoComboBox.Text.ToString().Trim()+"/" + IIdComboBox.Text.ToString().Trim() + "/"); 

      } 
+0

你可以檢查出來,只需使用調試器 – thelost 2010-06-02 11:46:42

+0

使用'Path.Combine()'或用''替換'「/」'''\\「' – Oliver 2010-06-02 11:52:05

+0

arrgh!惡夢。爲什麼你不創建路徑一次,並將其分配給一個變量,然後使用它? – 2010-06-02 11:55:00

回答

2

代替手動添加路徑在一起的,只是使用IO.Path.Combine方法,你不必擔心關於它。

如果你在VS2010中,你可以用多個參數調用它,否則你將不得不進行嵌套調用。

+0

我是否應該像IO.Path.Combine(PhotoPath,IGroupNoComboBox.Text +「/」+ IIdComboBox.Text +「/」+ IIdComboBox.Text +「 - 」+ i +「.jpg」)一樣使用Combine? – Ercan 2010-06-02 11:50:10

+0

按F1獲取幫助或查看Code Insight工具提示... – 2010-06-02 11:51:27

+0

'Combine'粘合不同的目錄,所以無論何時使用/您可以使用Combine來合併它們,您仍然必須手動創建文件名目前正在做。正如Thorsten所說,看看幫助 - http://msdn.microsoft.com/en-us/library/dd991142.aspx – 2010-06-02 11:54:25

相關問題