错误:不支持给定路径的格式

Yan*_*iav 3 c# screenshot appium

我究竟做错了什么?我的主要问题是我收到错误说:

错误:不支持给定路径的格式

我想将项目本身保存在我已经创建的文件夹下的名称:Screenshots

public void TakeScreenShot()
{
    string pth = System.Reflection.Assembly.GetCallingAssembly().CodeBase;
    string actualPath = pth.Substring(0, pth.LastIndexOf("bin"));
    string projectPath = new Uri(actualPath).LocalPath;

    Screenshot ss = ((ITakesScreenshot)_driver).GetScreenshot();
    string screenshot = ss.AsBase64EncodedString;
    byte[] screenshotAsByteArray = ss.AsByteArray;
    ss.SaveAsFile(projectPath+"Screenshots\\Drisha"+DateTime.Now.ToString()+".jpeg", ImageFormat.Jpeg); 
}
Run Code Online (Sandbox Code Playgroud)

Equ*_*lsk 9

我不知道你的机器设置的文化,但我假设调用DateTime.Now.ToString()给你一些08/02/2017 11:41:30包含斜线和冒号的东西,因此不是一个有效的路径.

尝试在内部指定格式ToString()如下:

ss.SaveAsFile(projectPath+"Screenshots\\Drisha"+DateTime.Now.ToString("ddMMyyyyHHmmss")+".jpeg", ImageFormat.Jpeg); 
Run Code Online (Sandbox Code Playgroud)

作为旁注,你不应该连接字符串来制作路径,而是使用Path.Combine.

ss.SaveAsFile(Path.Combine(projectPath, "Screenshots\\Drisha", DateTime.Now.ToString("ddMMyyyyHHmmss"), ".jpeg"), ImageFormat.Jpeg);
Run Code Online (Sandbox Code Playgroud)