解决asp.net FileUpload控件无法获取完整路径的问题
时间: 2024-12-16 19:18:52 浏览: 43
ASP.NET 中的 `FileUpload` 控件默认不会提供完整的文件路径给服务器端,因为它是为了安全考虑,防止恶意用户直接访问上传文件的物理位置。当你从 `FileUpload` 的 `FileName` 或 `PostedFile` 属性获取到的只是一个相对路径。
如果你需要获取完整的文件路径,通常你需要在服务器端处理这个过程。以下是步骤:
1. 首先,检查 `FileUpload.PostedFile` 是否已成功上传,如果不是,可能需要处理错误。
```csharp
if (fileUpload.HasFile)
{
string postedFilePath = fileUpload.FileName; // 相对路径
// 获取临时目录路径,例如在 Windows 上是 "C:\inetpub\temp\files"
string tempDirectory = Path.GetTempPath();
string fullFilePath = Path.Combine(tempDirectory, postedFilePath);
}
```
2. 然后,将文件保存到指定的目录,这时你可以得到完整的文件路径。
```csharp
using (FileStream fs = new FileStream(fullFilePath, FileMode.Create))
{
fileUpload.FileContent.InputStream.CopyTo(fs); // 将上传的内容复制到完整路径的文件
}
```
阅读全文
相关推荐

















