更改c#中图像路径的文件名

本文关键字:文件名 路径 图像 更改 | 更新日期: 2023-09-27 18:18:55

我的图片URL是这样的:

photo'myFolder'image.jpg

我想把它改成这样:

photo'myFolder'image-resize.jpg
有什么捷径可以做这件事吗?

更改c#中图像路径的文件名

下面的代码片段更改了文件名,而保留路径和扩展名不变:

string path = @"photo'myFolder'image.jpg";
string newFileName = @"image-resize";
string dir = Path.GetDirectoryName(path);
string ext = Path.GetExtension(path);
path =  Path.Combine(dir, newFileName + ext); // @"photo'myFolder'image-resize.jpg"

您可以使用Path.GetFileNameWithoutExtension方法。

返回指定路径字符串的文件名,不带扩展名。

string path = @"photo'myFolder'image.jpg";
string file = Path.GetFileNameWithoutExtension(path);
string NewPath = path.Replace(file, file + "-resize");
Console.WriteLine(NewPath); //photo'myFolder'image-resize.jpg

这是一个DEMO

我会使用这样的方法:

private static string GetFileNameAppendVariation(string fileName, string variation)
{
    string finalPath = Path.GetDirectoryName(fileName);
    string newfilename = String.Concat(Path.GetFileNameWithoutExtension(fileName), variation, Path.GetExtension(fileName));
    return Path.Combine(finalPath, newfilename);
}

string result = GetFileNameAppendVariation(@"photo'myFolder'image.jpg", "-resize");

结果:照片' myFolder ' image-resize.jpg

这是我用来重命名

文件的方法
public static string AppendToFileName(string source, string appendValue)
{
    return $"{Path.Combine(Path.GetDirectoryName(source), Path.GetFileNameWithoutExtension(source))}{appendValue}{Path.GetExtension(source)}";
}

或文件。移动方法:

System.IO.File.Move(@"photo'myFolder'image.jpg", @"photo'myFolder'image-resize.jpg");

BTW: '是一个相对路径和/一个web路径,记住这一点。

你可以试试这个

 string  fileName = @"photo'myFolder'image.jpg";
 string newFileName = fileName.Substring(0, fileName.LastIndexOf('.')) + 
                     "-resize" + fileName.Substring(fileName.LastIndexOf('.'));
 File.Copy(fileName, newFileName);
 File.Delete(fileName);

try this

File.Copy(Server.MapPath("~/") +"photo/myFolder/image.jpg",Server.MapPath("~/") +"photo/myFolder/image-resize.jpg",true);
File.Delete(Server.MapPath("~/") + "photo/myFolder/image.jpg");