2017-02-08 41 views
2

私は間違っていますか? は、私の大きな問題は、私はエラーを取得していますということであることは言う:エラー:指定されたパスの形式はサポートされていません

error : The given path's format is not supported

私はすでに名前の作成したフォルダの下にプロジェクト自体の中にファイルを保存したい:私はスクリーンショット

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); 
} 

答えて

5

あなたのマシンがどのような文化に設定されているのか分かりませんが、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); 
関連する問題