2013-02-25 5 views
0

간단한 작업을하려고합니다. MVC3 응용 프로그램과 함께 valums 파일 업 로더 (또는 파인 업 로더)로 파일을 업로드하고 데이터베이스에 저장 한 다음 사용자가 FileContentResult를 반환하는 작업으로 다시 다운로드 할 수 있도록 허용하지만 업로드하려면 업로드 된 파일의 contentType이 필요합니다.IE9에서 파일 업 로더를 사용하여 파일 contentType을 얻는 방법

IE9는 contentType을 얻을 수없는 vlaums 파일 업 로더 (버전 2.1.2 사용)의 "UploadHandlerForm"메소드를 사용합니다. 내가 예를 들어 IE10을 사용하고 때

, UploadHandlerXhr를 사용하여 플러그인 업로드, 그래서 나는 그와 함께, 콘텐츠 유형을 얻고 서버에 게시 할 수 있습니다 :

_upload: function(id, params) 
{ 
    ... 
    var file = this._files[id]; 
    var type = (file.fileSize != null ? file.fileSize : file.size); 

    .... 
    //and then, add it to be posted to server: 
    xhr.setRequestHeader("X-File-Type", type); 
} 

내가 캔트 어떤 방법이 있나요 이전 브라우저 (예 : IE9)에서 javascript가있는 입력 파일의 파일 contentType

답변

0

당신이 여기서 무엇을하려고하는지 명확하지 않습니다. 별도의 요청으로 파일의 콘텐츠 유형을 보내려고하십니까? 그렇다면 왜? content-type은 각 MPE 요청의 일부입니다. 파일 데이터가 들어있는 다중 영역 경계의 Content-Type 헤더를 검사하면됩니다.

또한 밑줄로 시작하는 변수/함수에 액세스하지 마십시오. 그것들은 API의 일부가 아니며 언제든지 변경되거나 제거 될 수 있습니다. 앞으로이 내부에 대한 액세스를 완전히 차단하고 싶습니다.

+0

저는 valum 파일 업 로더 (비동기식 파일 업로드를위한 가장 유명한 자바 스크립트 플러그인 중 하나 인 메시지 작성 중에 이메일에 파일 첨부)를 사용하여 IE9에서 파일의 콘텐츠 유형을 얻으려고합니다. 업로드 요청 자체에는 헤더의 content-type 값으로 "multipart/form-data"가 제공됩니다. 양식 제출에는 content-type이 있습니다. "application/x-www-form-urlencoded"... – IPValverde

+0

예, 알고 있습니다. 그 업 로더를 유지합니다. 앞서 언급했듯이 파일 데이터가 들어있는 다중 요청 경계 (요청 페이로드 내부)의 content-type 헤더를 검사하여 실제 파일의 content-type을 구문 분석 할 수 있습니다. 이것은 거의 모든 서버 측 언어에서 매우 쉽게 이루어져야합니다. Github 프로젝트의 [server repo] (https://github.com/Widen/fine-uploader-server)에서 몇 가지 예를 살펴보십시오. 또한 Fine Uploader 버전은 꽤 오래되었습니다. 업그레이드 고려 –

관련 문제