我有这个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中,那将是非常棒的!
提前谢谢
答案 0 :(得分:0)
你无法依靠获得完整的路径。最后,浏览器只需要对物理文件进行多部分编码,并将其作为表单(各种)提交。因此,一旦它具有它的位置并对其进行了编码 - 它就完成了它的使用。
将文件结构暴露给Javascript / HTML(即互联网)会被视为安全风险。
答案 1 :(得分:0)
只是一个更新。
我使用了另一种逻辑,它按预期工作。我没有获得绝对文件路径,而是设法打开文件,将其保存为某处,并使我的html调用找到该文件路径,无论如何。