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

时间:2017-02-08 11:37:42

标签: 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); 
}

1 个答案:

答案 0 :(得分:9)

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

尝试在ToString()内指定格式,如下所示:

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

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

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