Не удалось получить полный путь к загружаемому файлу, используя тип файла ввода HTML для чтения содержимого файла. - PullRequest
0 голосов
/ 20 мая 2010

Я хотел бы использовать тип входного файла HTML на моей странице aspx, чтобы позволить пользователю просматривать файл Excel, а затем программно читать содержимое листа Excel. Если я хочу прочитать лист Excel, мне нужен полный путьфайл для подключения к листу Excel с использованием asp.net. Я не понимаю, как я могу получить полный путь к файлу.

Я знаю, что я могу получить имя файла, используя свойство postsFile.FileName. Но мне нужнополный путь к файлу.

Может кто-нибудь, пожалуйста, помогите мне с этим.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 20 мая 2010

Вы можете использовать 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
0 голосов
/ 20 мая 2010

Нет такого понятия, как полный путь к файлу. Сервер не может знать, где файл хранится на клиентском компьютере. Все, что вы можете знать в своем приложении ASP.NET, это имя файла и содержимое загруженного файла.

...