c# - 路径中的非法字符
问题描述
我正在尝试使用 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);
我得到了例外
路径中的非法字符
有没有人可以向我解释为什么它不起作用?
解决方案
您的代码的问题是Console.Read() 函数旨在仅读取输入中的下一个字符。
您应该改用Console.ReadLine(),它将从输入中读取整行。
string path = Console.ReadLine();
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment(path);
mail.Attachments.Add(attachment);
推荐阅读
- linux - Nginx 服务器没有重启
- mysql - MYSQL 3 连续出现基于年份的记录
- verilog - 8 位 CPU 和内存读取的时钟周期
- android - 如何将点击功能添加到回收站视图?
- powershell - 使用 AZ Powershell 模块注册本机应用程序
- javascript - 我希望能够在网络上查看闭路电视屏幕
- pycharm - 如何在 Pycharm 中使用 Anaconda 基础环境?
- apache-spark - spark-submit - 无法解析主 url
- javascript - 如何使用 Javascript 将 API 调用发送到具有多个指标的 Google Analytics API
- python - 如何按文件名中包含的整数的升序对文件进行排序