从C#中上传的文件中获取包含文件名的完整文件路径

时间:2014-07-18 19:22:56

标签: c# javascript html

我有这个Web应用程序项目需要更好的用户界面,而我是通过C#来完成的。 我已经使用JS完成了我的html文件,但我需要用户提供一些数据。 在我嵌入HTML文件的JS中,我使用下面的代码在本地驱动程序上查找文件并从该excel文件中获取数据,然后将所有这些数据放入数组中。

var excel = new ActiveXObject("Excel.Application"); var excel_file = excel.Workbooks.Open(file1); var excel_sheet = excel.Worksheets("Sheet1");

但是,您在上面看到的“file1”似乎需要一个全名路径,在我的例子中说“C:\ test.xls”。 我是C#的新手,只是在我的表单设计上构建了一个按钮,通过单击按钮,我似乎可以浏览我的本地文件。

      private void button1_Click(object sender, EventArgs e)
    {
        int size = -1;
        DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog.
        if (result == DialogResult.OK) // Test result.
        {
            string file = openFileDialog1.FileName;
            try
            {
                string text = File.ReadAllText(file);
                size = text.Length;
            }
            catch (IOException)
            {
            }
            System.Diagnostics.Process.Start(file);



        }
        Console.WriteLine(size); // <-- Shows file size in debugging mode.
        Console.WriteLine(result); // <-- For debugging use.
    }

所以,我的问题:

如何在C#中获取上传文件的这种完整文件路径? 而且,如果有人可以告诉我如何将这个值放入我的javascript或HTML中,那将是非常棒的!

提前谢谢

2 个答案:

答案 0 :(得分:0)

你无法依靠获得完整的路径。最后,浏览器只需要对物理文件进行多部分编码,并将其作为表单(各种)提交。因此,一旦它具有它的位置并对其进行了编码 - 它就完成了它的使用。

将文件结构暴露给Javascript / HTML(即互联网)会被视为安全风险。

答案 1 :(得分:0)

只是一个更新。

我使用了另一种逻辑,它按预期工作。我没有获得绝对文件路径,而是设法打开文件,将其保存为某处,并使我的html调用找到该文件路径,无论如何。