2013-06-14 2 views
2

Я использую элемент управления загрузкой ASP.Net, чтобы позволить пользователям загружать файл с разделителями табуляции с расширением txt.Независимо от того, загружен ли файл в формате с табуляцией

Как я могу убедиться в том, что файл имеет разделитель табуляции? Я использую C#.

В настоящее время я использую следующий код.

 StreamReader stream = null; 
     if (FileUpload1.HasFile) 
     { 
      if (FileUpload1.FileName.EndsWith("txt")) 
      { 
       string filename = Path.Combine(Server.MapPath("~/files"), Guid.NewGuid().ToString() + ".txt"); 
       FileUpload1.PostedFile.SaveAs(filename); 
       Session["UploadedFileName"] = filename; 
       stream = new StreamReader(FileUpload1.PostedFile.InputStream); 
      } 
      else 
      { 
       lblMessage.Text = "File format not supported. Please use a tab delimited .txt file."; 
       pnlMessage.Visible = true; 
       return; 
      } 
     } 
     else 
     { 
      lblMessage.Text = "You must select a file to upload."; 
      pnlMessage.Visible = true; 
      return; 
     } 
+5

Я не уверен, что это возможно. Если вы не найдете никаких вкладок в файле, возможно, это будет означать, что файл не тот, который вы ожидаете, но, возможно, это означает, что для каждой колонки есть только один столбец. Если вы найдете несколько вкладок в каждой строке, как вы узнаете, действительно ли это в нужном формате? Теперь, если вы скажете, что ожидаете в столбцах _n_ не более _x_ символов в каждом столбце, вы получите что-то, что вы могли бы проверить. –

+2

Как отметил @MichaelTodd, нет истинного способа узнать. Лучшее, на что вы можете надеяться, это сделать класс-оболочку для того, что вы ожидаете, и проанализировать файл, значение по значению. – seekerOfKnowledge

+1

Если вам понадобится файл с разделителями-запятыми, расширение .csv, сможете ли вы проверить, действительно ли он разделен запятой? –

ответ

0

управление сервером Можно загрузить только один файл в то время загрузка несколько файлов не поддерживаются

Смежные вопросы