0

我正在尝试获取用户上传的文件的路径,但我得到的路径是错误的,因为路径应该是示例

 "C:\\Users\\Tranga.Patel\\Downloads\template.xlsx"

但在我的程序中我得到

 "c:\\windows\\system32\\inetsrv\\Template Final.xlsx" 

我正在使用的代码是

fileName = Path.GetFullPath(fileUpload.PostedFile.FileName);

我也尝试过使用

 fileName = Server.MapPath(Path.GetFullPath(fileUpload.PostedFile.FileName));

这给出了项目的目录

4

2 回答 2

2

尝试使用以下:

var path=Server.MapPath('Uploads folder path from root directory');

这为您提供了网站根目录的文件夹路径。

编辑:- 如果文件不在您的站点目录树中,您应该知道用户将文件保存到哪个路径。

于 2012-11-06T10:19:55.703 回答
1

您使用的是文件上传控件吗?如果是,您只需要他们选择要上传的文档,然后指定要保存的路径即可。例如

 // Get File Name
 documentName = Path.GetFileName(fuContentDocuments.FileName);

 // Specify your server path
 string serverPath = Server.MapPath("../../" + WebConfigurationManager.AppSettings["FilePath"].ToString());

// The final path
string fileLocation = (serverPath + "\\" + userId + "\\" + documentName);

// if folder doesn't exist then create it
if (!Directory.Exists(serverPath + "\\" + userId + "\\"))
{
    // create the folder for the file
    Directory.CreateDirectory(serverPath + "\\" + userId + "\\");
}

// Upload the file
fuContentDocuments.SaveAs(fileLocation);

注意:UserId 只是用户登录的userId。这样其他用户就不会覆盖它。

于 2012-11-06T11:26:07.323 回答