2013-06-13 5 views
0

파일 컨트롤을 사용하여 선택한 csv 파일을 열려고합니다.StreamReader를 사용할 때 파일 열기 오류

<input type="file" id="fileStoreRoster" style="width:400px;" /> 

내 컨트롤러에는이 기능이 있습니다.

public ActionResult Ajax_ImportRoster(string fileName) 

파일을 컨트롤러에 게시해야하는 jQuery 코드가 있습니다. 내가 파일을 열 때

var fileName = $("#fileTimeWindows").val(); 
$.ajax({ 
    url: appDomain + '/Maintenance/Ajax_ImportWindows', 
    type: "POST", 
    data: { fileName: fileName } 
}); 

는하지만 난 오류를 얻을

이는 내가 액세스를 시도하고있는 서버에서 발생 경로의 일부를 찾을 수 없습니다 파일을 사용자 컴퓨터에 저장합니다.

파일이 업로드

답변

0

.. 그것은 string로 전송 ..하지만 HttpPostedFile되지 않습니다

또한
public ActionResult Ajax_ImportRoster(HttpPostedFileBase fileStoreRoster) { 
    // fileStoreRoster.InputStream is a stream to the file 
} 

는, 파일 업로드가 작동하려면 당신이 당신의 양식에 multipart/form-data을 필요로 기억한다.

문제를 올바르게 이해하고 있습니까? 귀하의 프로필은 내가 방금 말한 것을 이미 알고 있다고 가정합니다.

+0

나를 올바르게 이해하지 못합니다. 언급하지 못한 것은 Ajax 호출에있는 것입니다. 나는 지금 질문을 업데이트하고있다 – griegs

+0

나는 아약스 쪽을 다시 생각해야 할 것이다? – griegs

+0

ajax 양식을 통해 파일을 업로드 할 수 없습니다. 그것은 불가능합니다. 해결 방법은'iframe', 플래시 객체 등을 사용하는 것입니다. jQuery 라이브러리를 사용할 수 있습니다. 그러나 이것들은 ajax 폼을 게시하지 않습니다. jquery.fileupload보세요. 나는 과거에 그것을 사용하고 꽤 잘 작동합니다. –

0

html은 클라이언트 컴퓨터에서 렌더링되므로 참조 된 파일 만 존재합니다. 서버의 파일로 작업하려면 먼저 서버에 업로드 (게시)해야합니다.

양식을 입력 필드에 추가하여 양식을 추가하지 않은 경우 System.WebHttpPostedFileBase 매개 변수를 취하는 조치 메소드에 양식을 입력 필드의 이름 속성과 동일하게 제출하십시오. 해당 매개 변수는 업로드 된 파일의 스트림에 대한 액세스 권한을 갖습니다.