2014-11-20 3 views
0

최근 파일을 업로드/다운로드하기 위해 dojo v1.7을 사용하고 있습니다. 요청/응답 트래픽을 처리하기 위해 websphere app 서버 내부에 서블릿 클래스를 배포했습니다. 그러나 iframe.send + servlet을 통해 파일을 다운로드하는 중에 문제가 발생했습니다. 음, FF/Chrome에서는 작동하지만 IE v10에서는 작동하지 않습니다. 결코 호출되지 않는 서블릿 클래스의 인스턴스처럼 보입니다. doGet 메서드 내에서 구현 된 로깅을 통해 전송되는 내용을 기록합니다. IE 10을 통해 http 요청을 시작할 때 아무 것도 기록되지 않습니다. 이에 대한 귀하의 의견을 보내 주시면 감사하겠습니다.dojo.io.iframe.send가 IE v10에서 작동하지 않습니까?

iframe.send({ 
    method: "GET", 
    content: { 
     name: "base64_string_value" 
    }, 
    url: "/myServlet" 
}).then(function(data) {}, function(err) {}); 

[업데이트] 폼 태그가 입력 태그 배치 및 송신 방법에서 형태 속성을 지정하면, 요청은 브라우저 측으로부터 그러나, 서블릿에 의해 처리하고, I는 사용자가 요청하는 대화 상자를 기대하는 하나 개방 또는 저장하지만 일어난 것은 아닙니다. 오히려 "이 페이지를 표시 할 수 없습니다."라는 메시지가 나타납니다. 브라우저에서.

<form id="myForm"> 
    <input type="submit" value="Download"></input> 
</form> 

iframe.send({ .... form: "myForm" }); 

답변

0

나는 그 질문에 진실하지 않다는 것에 사과해야한다. 제출하려는 데이터는 단지 파일 이름이 아니었지만 (필자의 질문 내용을 수정했지만) base64 문자열 값은 다소 컸습니다. 데이터 크기에 관계없이 서블릿은 요청 된 파일의 내용 (base64)을 읽은 후 파일 객체를 반환 할 것이라고 생각했습니다. Get에서 POST로 양식을 제출하고 서블릿 클래스 (구현 된 doPost 및 폐기 된 doGet)에서 적절한 기술자를 전환 한 후 브라우저에서 파일을 다운로드하면 IE와 Chrome에서 잘 작동합니다.

관련 문제