我正在尝试保存新图片,但是C#给我一个错误,如下图
错误参考以下代码
string oldfilename = valid.getStringBeforeAnyChar(fi.Name, '.'); //"1"
string newfilename = FolderDir + "\\" + subfolderoutput + "\\" + oldfilename + Copyright + fi.Extension;
//"C:\\Users\\RHIT ! Solution\\Desktop\\direktori\\Output\\1[Watermarked by : RHIT Watermarker ].png"
try
{
imgPhoto.Save(newfilename, ImageFormat.Jpeg); // <-- error here
imgPhoto.Dispose();
imgWatermark.Dispose();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
我哪里出错了?怎么解决这个?我不知道创建新文件可能是output
文件夹限制
答案 0 :(得分:0)
newFileName
几乎肯定有问题。您可以在调试器中查看此值,以查看可能与预期文件名相关的内容。路径。
作为一般建议,最好将目录和文件名合并到使用Path.Combine()
的路径中,该路径可以排除许多潜在问题,例如双重或缺少'\'。
答案 1 :(得分:0)
Windows文件路径不支持冒号(:
)字符,还支持其他几个文件名:
总结;无效字符是:
<
(小于)>
(大于):
(冒号)"
(双引号)/
(正斜杠)\
(反斜杠)|
(垂直条或竖线)?
(问号)*
(星号)反斜杠(\
)字符只有在用作文件夹/目录分隔符时才会出现。