You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

保存Bitmap文件时如何使用含冒号的文件名?

解决Bitmap保存时含冒号的文件名报错问题

Windows文件系统禁止文件名包含冒号(:),这是系统级的限制,所以你直接把HH:mm格式的时间拼进文件名里肯定会报“路径格式不支持”的错误,和用不用Path.Combine无关。

解决方法很简单,把时间格式里的冒号替换成Windows允许的字符(比如横杠-、点.、下划线_),同时注意正确拼接文件名(别把时间直接加在后缀后面):

修正后的代码示例

original = new Bitmap(this.Size.Width, this.Size.Height);
Graphics gr = Graphics.FromImage(original);
gr.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, original.Size);
form1.getImage(original);

// 把时间格式里的冒号换成横杠,同时正确拼接文件名
string timestamp = DateTime.Now.ToString("HH-mm");
// 用@符号避免路径字符串的转义问题,或者用双反斜杠\\
string savePath = @"C:\Users\park\Desktop\test\justest_" + timestamp + ".jpeg";
original.Save(savePath, ImageFormat.Jpeg);

补充说明

  • 你之前的代码还有个小问题:直接把时间拼在.jpeg后面,会生成类似justest.jpeg14:30的文件名,这不符合文件命名规范,正确的应该是把时间放在文件名主体和后缀之间。
  • Windows文件名禁止的字符还有:<、>、", /、\、|、?、*,这些都要避免出现在文件名里。

内容的提问来源于stack exchange,提问作者eater Sun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 14:30:10