如何从asp:file upload获取文件的完整路径?

时间:2013-01-24 21:58:22

标签: c# asp.net file-upload

我正在尝试使用asp.net中的文件上传功能获取文件的完整路径。我正在使用Visual Basic 2010中的C#开发一个网站项目。我想要完整路径的原因是因为我实际上是在尝试获取包含该文件的文件夹的信息,因为该计划是使用第三方比较工具UltraCompare比较两个文件夹的内容,然后将该比较的结果传输到我们的数据库中。

理想情况下,我想要一个能够让用户浏览文件夹而不是文件的功能,但据我在google搜索中所知,这在.net 4.0中是不可能的,这是版本I我正在使用。

我不确定是否甚至需要使用文件上传控件,因为我需要的只是目录的文件路径。但是,我希望用户能够使用GUI浏览器窗口搜索文件,而不是输入完整的文件路径。

我显然是C#.net和一般编程的巨大菜鸟,所以任何建议或建议都会非常感激。以下是我从其他地方复制并粘贴的一些示例代码。评论中的内容只是我尝试(不成功)获取文件路径的不同方法。

if (File1.HasFile)
        {
            try
            {
                //string filepath1 = Path.GetFullPath(File1.PostedFile.FileName);
                string filepath1 = Path.GetFileName(File1.FileName);
                File1.SaveAs(Server.MapPath("~/") + filepath1);
                //StatusLabel.Text = "Upload status: File(s) uploaded!";
                Response.Write("Upload status: File(s) uploaded! <br />");
                Response.Write(filepath1);
            }
            catch (Exception ex)
            {
                StatusLabel.Text = "Upload status: The file(s) could not be uploaded. The following error occured: " + ex.Message;
                //Response.Write("Upload status: The file(s) could not be uploaded. The following error occured: " + ex.Message + "<br />");
            }

1 个答案:

答案 0 :(得分:4)

除了原始文件名之外,

html不会提供任何其他内容。任何其他信息(如文件夹路径或属性)都将违反客户的安全和隐私。你需要使用其他东西,比如activex控件或adobe flash来获取你想要的数据。