我目前在软件中存在一个错误,该错误只能在客户端重现。 我使用的是Windows 10(1805),我的客户使用的是Windows Server 2016(标准版)。
问题是,当您使用对话框设置图像路径时,似乎将其保存为错误格式,但是我不确定。
// Snap (capture) an image to the memory
string path = IMGPath + "\\" + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + ".jpeg";
IMGPath是通过正确传输的Windows FileDialog Box给出的,但我无法在客户计算机上调试。
在上面的代码之前,我使用了“ /”,这可能导致图像保存功能无法找到正确的路径。但是奇怪的是,在我自己的Machine Win 10上,它没有任何负面影响,图像保存在正确的文件夹中。
问题:这可能会导致Windows Server 2016出现问题吗?
提前感谢:)
更新: 终于成功了,但问题是我混用了斜杠和反斜杠。 Windows 10会自动更正此问题,但Windows Server 2016不会。
答案 0 :(得分:2)
如果您使用Path.Combine而不是执行自己的字符串连接,这将减少此处出现错误的可能性。
var path = Path.Combine(IMGPath, $"{DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss")}.jpeg");
答案 1 :(得分:1)
您可以使用Path.Combine
方法。将字符串数组组合到路径中。
string[] paths = {IMGPath, "\\", DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss"), ".jpeg"};
string fullPath = Path.Combine(paths);
Console.WriteLine(fullPath);
答案 2 :(得分:0)
DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss")
可能正在使用“客户文化” /“时区”
请尝试使用var date1 = DateTime.Now.ToString(CultureInfo.InvariantCulture);
并注意TimeZone
问题。