C# Path.GetExtension returning"&引用;

C# Path.GetExtension returning"&引用;,c#,file-upload,upload,C#,File Upload,Upload,我正在尝试将图像路径上载到数据库,并将文件保存在images文件夹中。除了getExtension部分(.jpg、.gif等)之外,它工作正常。Path.getExtension方法总是返回null(“”),我不知道为什么 您可以在下面找到所使用的代码: string imagesFolderPath = Server.MapPath("//Images"); imagesFolderPath += "//"; string newImageName = addProduct.id.ToStr

我正在尝试将图像路径上载到数据库,并将文件保存在images文件夹中。除了getExtension部分(.jpg、.gif等)之外,它工作正常。Path.getExtension方法总是返回null(“”),我不知道为什么

您可以在下面找到所使用的代码:

string imagesFolderPath = Server.MapPath("//Images");
imagesFolderPath += "//";

string newImageName = addProduct.id.ToString();
string extension = Path.GetExtension(fileUpload.FileName.ToString());

addProduct.imagePath = "Images//" + newImageName + extension;

fileUpload.SaveAs(imagesFolderPath + newImageName);
根据:

指定路径的扩展名(包括句点“)、null或String.Empty。如果path为null,则GetExtension返回null如果路径没有扩展信息,GetExtension将返回String.Empty。

获取空字符串“
”的唯一方法是将路径设置为notbe
null
,并且not的路径具有扩展名


你得到的是一个空字符串,因为路径没有扩展名。

如果我们知道返回的
fileUpload.FileName.ToString()
会有帮助。你能确认
FileName
是否有扩展名吗如果FileName是一个字符串,为什么要调用ToString:fileUpload.FileName.ToString()?请查看下面的答案,你用这个解释解决了吗?我用GetExtension方法得到C:\Windows\system32\dllhost.exe/Processid:{02D4B3F1-FD88-11D1-960D-00805FC79235}路径的“”。@Samflush这是因为
C:\Windows\system32\dllhost.exe/Processid:{02D4B3F1-FD88-11D1-960D-00805FC79235}
不是有效路径。谢谢。我想他们应该实现支持可执行参数的函数。