2010-06-02 3 views
2

HI. Я знаю, что это простой вопрос, но когда я используюC#: Сохранение изображения в папку

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

он работает и сохраняет файл в папку, где находится файл .exe. Но я хочу, чтобы сохранить его в определенную папку, как/фото/IO-66/и судимого использовать

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 

Как я могу решить эту проблему? Есть ли путь к папке? или используя «/»?

EDIT

Вот мой код для создания и проверки существующих или нет папки

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

+0

используйте 'Path.Combine()' или замените ''/'' на '' \\ '' – Oliver

+0

arrgh! кошмар. Почему бы вам не создать путь один раз и присвоить его переменной, а затем использовать это? –

ответ

2

Вместо добавления путь вместе вручную, просто использовать метод IO.Path.Combine и вам не придется беспокоиться об этом.

Если вы находитесь в VS2010, вы можете просто вызвать его с несколькими параметрами, и в противном случае вам придется иметь вложенные вызовы.

+0

Должен ли я использовать Combine как IO.Path.Combine (PhotoPath, IGroupNoComboBox.Text + "/" + IIdComboBox.Text + "/" + IIdComboBox.Text + "-" + i + ".jpg")? – Ercan

+0

Нажмите F1 для получения справки или см. Подсказку Code Insight ... –

+0

'Combine' склеивает разные каталоги, поэтому всякий раз, когда вы используете/вы можете использовать' Combine' для их комбинирования, вам все равно придется создавать имя файла вручную, так как вы сейчас. Как говорит Торстен, посмотрите на помощь - http://msdn.microsoft.com/en-us/library/dd991142.aspx –

Смежные вопросы