2014-03-27 3 views
0

FileResult 개체를 사용하여 Excel에서 로컬 디스크에 Excel 파일을 열려고합니다. 내가 열 파일을 클릭하면 내 ActionResult (WTF?)와 같은 이름의 파일을 다운로드하고 다운로드 한 파일을 클릭하면 "프로그램 선택"창이 나타납니다. Excel을 선택하면 열리지 만 Excel 파일로 다운로드하여 추가 단계없이 열면 무엇이 누락됩니까? 아래는 파일 열기를위한 switch 문입니다. 감사합니다FileResult를 사용하여 Excel 파일 다운로드/열기 MVC4가 작동하지 않습니다.

public ActionResult GetFile(string path) 
    { 

     string extension = new FileInfo(path).Extension; 
     if (extension != null || extension != string.Empty) 
     { 
      switch (extension) 
      { 
       case ".pdf": 
        return File(path, "application/pdf"); 
       case ".txt": 
        return File(path, "application/plain"); 
       case ".jpeg": 
        return File(path, "application/jpeg"); 
       case ".doc": 
        return File(path, "application/msword"); 
       case ".docx": 
        return File(path, "application/msword"); 
       case ".xls": 
        return File(path, "application/msexcel"); 
       case ".xlsx": 
        return File(path, "application/msexcel"); 
       default: 
        return File(path, "application/octet-stream"); 
      } 
     } 
     return View("Index"); 
    } 
+0

다른 파일 형식이 작동합니까? –

+0

예, 그들은 Excel에만 문제가있었습니다. 아래의 해결책을 시도하고 응답으로 돌아 오거나 작동하는 경우 표시하십시오. – user1732364

답변

5

확인이 :

case ".xls": 
    return File(path, "application/vnd.ms-excel"); 
case ".xlsx": 
    return File(path, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); 

Extra info

+0

훌륭한 작품 !!!!! 고맙습니다. D – user1732364

관련 문제