在Windows系统中,文件路径长度受到260个字符的限制。为了在SaveFileDialog中的默认文件名(FileName)中设置长字符串(> 260个字符),您可以使用以下方法:
\\?\
前缀:在文件路径的开头添加\\?\
前缀,可以允许您访问长路径名(超过260个字符)的文件。例如:
saveFileDialog.FileName = @"\\?\C:\path\to\your\file\with\long\name.txt";
使用通用命名约定(UNC)路径,它允许您使用更长的路径名。UNC路径的格式为\\server\share\path\to\file
。例如:
saveFileDialog.FileName = @"\\yourserver\share\path\to\your\file\with\long\name.txt";
SetFileDialogFileName
方法:您还可以使用SetFileDialogFileName
方法来设置SaveFileDialog的默认文件名。这个方法可以处理长文件名(> 260个字符)。例如:
public void SetFileDialogFileName(SaveFileDialog saveFileDialog, string fileName)
{
int MAX_PATH = 260;
int fileNameLength = fileName.Length;
if (fileNameLength <= MAX_PATH)
{
saveFileDialog.FileName = fileName;
return;
}
string fileNameWithoutPath = Path.GetFileName(fileName);
string directoryPath = fileName.Substring(0, fileNameLength - fileNameWithoutPath.Length);
saveFileDialog.FileName = fileNameWithoutPath;
saveFileDialog.InitialDirectory = directoryPath;
}
然后,您可以使用此方法设置SaveFileDialog的默认文件名:
string longFileName = @"C:\path\to\your\file\with\long\name.txt";
SetFileDialogFileName(saveFileDialog, longFileName);
这些方法都可以让您在SaveFileDialog中的默认文件名中设置长字符串(> 260个字符)。
领取专属 10元无门槛券
手把手带您无忧上云