我正在开发桌面应用程序。在那我想要重命名保存在文件夹中的图像。如果在文件夹中图像是Img.jpg,那么下一次图像将是Img1.jpg。我尝试了一些代码,但我无法获得结果。
这是我的代码
string folderPath1 = "E:\\CoachingClassImages\\HeaderInfoImages\\Logo";
if (!Directory.Exists(folderPath1))
{
Directory.CreateDirectory(folderPath1);
}
//Save the file in folder
int count = 1;
string file = "E:\\CoachingClassImages\\HeaderInfoImages\\Logo" + logo_picname;
string extention=Path.GetExtension("jpeg|*.jpg|bmp|*.bmp|all files|*.*");
string fileLocation1 = file;
if (File.Exists(file))
{
System.GC.Collect();
System.GC.WaitForPendingFinalizers();
string tempFileName = string.Format("{0}({1}){2}", logo_picname, extention, count++);
File.Copy(fileLocation1, Path.Combine("E:\\CoachingClassImages\\HeaderInfoImages\\Logo", Path.GetFileName(tempFileName)), true);
}
else
{
File.Copy(fileLocation1, Path.Combine("E:\\CoachingClassImages\\HeaderInfoImages\\Logo", Path.GetFileName(logo_location)), true);
}
答案 0 :(得分:0)
问题在于文件名,在您的情况下,您按照logo_picname
- extention
- count
的顺序指定值,这将生成文件名{{1 }}。这是因为String.Format`遵循基于零的索引。您必须按所需顺序指定参数。还有一件事我不知道你试图得到文件的扩展名,无论如何,源文件和目标文件的扩展名应该相同,这样你就应该从源文件中获取扩展名
所以你应该这样使用:
Img(.jpg)3
答案 1 :(得分:-1)
使用逻辑
4.When u got the array with numbers take Lenght(); of that array
5.Finally when u r creating a new file call this funtion and get the number on files in the folder which has same name and Lenght()+1 and
U are Done !
**I Hope You Will Understand my Logic . :)**
//你会得到一系列这样的数字,具体取决于你的数字
文件夹中文件的编号//
myNew [] = {1,2,3,4,5,6等等
}
<?php foreach($classes as $class) { ?>
<option value="<?php echo $class->classesID; ?>" <?php echo set_select('class', $class->classesID); ?>>
<?php echo $class->classes; ?>
</option>
<?php } ?>