Нелегальные персонажи на пути - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь отправить почту с вложениями, используя SMTP-клиент. Все идет хорошо, когда я пытаюсь добавить вложение вроде этого:

System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment(@"C:\icon.jpg");
mail.Attachments.Add(attachment);

но когда я пытаюсь прочитать путь из консоли, как:

string path = Console.Read();
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment(path);
mail.Attachments.Add(attachment);

Я получаю исключение

Нелегальные символы на пути

Есть ли кто-нибудь, кто мог бы объяснить мне, почему это не работает?

1 Ответ

1 голос
/ 09 апреля 2019

Проблема с вашим кодом в том, что Функция Console.Read () предназначена для чтения только следующего символа из ввода.

Вам следует использовать Console.ReadLine () вместо этого, который будет читать всю строку из ввода.

string path = Console.ReadLine();
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment(path);
mail.Attachments.Add(attachment);
...