使用HTML inputfile类型获取文件的完整路径以读取文件内容时出现问题

时间:2010-05-20 15:31:05

标签: asp.net html input file-type

我想在我的aspx页面中使用HTML输入文件类型,以允许用户浏览excel文件,然后以编程方式读取excel表的内容。如果我想阅读excel表,我需要完整的路径使用asp.net连接到Excel工作表的文件。我不明白如何获取文件的完整路径。

我知道我可以使用postingFile.FileName属性获取文件名。但是我需要文件的完整路径。

有人可以帮助我。

感谢。

2 个答案:

答案 0 :(得分:0)

没有文件的完整路径这样的概念。服务器无法知道文件在客户端计算机上的存储位置。您在ASP.NET应用程序中可以知道的只是文件名和上传文件的内容。

答案 1 :(得分:0)

您可以使用OpenXml SDK(http://msdn.microsoft.com/en-us/library/dd608815(office.14).aspx)以编程方式直接从文件上传流中打开Excel工作表。

using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
using DocumentFormat.OpenXml;

FileUpload fu = (FileUpload)Page.FindControl("fuExcel");
using (SpreadsheetDocument uploadedWorkbook =
SpreadsheetDocument.Open(fu.FileContent, true))
{
    //interrogate the file here
}

FileUpload控件不提供有关从中上载文件的路径的任何信息。你得到:

  • 文件名(即abc.xyz, 删除任何路径信息),如FileName
  • 文件内容流为FileContent
  • 文件中的字节数组为FileBytes