2013-12-17 2 views
0

Node.js 위에 빌드 된 API 서버가 있습니다.Android가 Node.js에서 설정 한 응답 헤더를 인식하지 못합니다.

아래와 같이 다운로드 데이터에 대한 응답 헤더를 설정했습니다.

res.setHeader('Content-Length', fileSize); 
res.setHeader('Content-Type', 'application/octet-stream'); 
res.setHeader('Content-Disposition', 'attachment;filename="' + fileName + '"'); 

은 모든 컴퓨터 O/S 및 웹 브라우저에서 정상적으로 작동합니다.

그러나, 나는 안드로이드 전화를 사용하여 데이터를 다운로드, 모든 웹 브라우저 (예., 돌고래도, 크롬, FF)을하려고 할 때 응답 헤더를 인식하지 못합니다 (예., 파일 이름, 내용 길이)

이 문제를 해결하는 데 도움을 줄 수있는 사람이 있습니까?

미리 감사드립니다.

+0

try'res.writeHead' http://nodejs.org/api/http.html#http_response_writehead_statuscode_reasonphrase_headers – vinayr

+0

아마 안드로이드 브라우저가 VIEW 인 텐트를 만들고 있는데, "application/octet-stream"에서 듣고있는 앱이 없을 수도 있습니다. mime- 유형? 어떤 파일을 보내고 있습니까? "application/pdf"를 사용해보십시오. – hgoebl

+0

@hgoebi 미안하지만 고객의 데이터를 보내야하고 어떤 종류의 데이터가 될지 알 수 없습니다 .... –

답변

0

마지막으로 http 헤더가 안드로이드에서 작동하지 않는 이유를 발견했습니다.

중요한 일을 언급하지 않은 것은 유감입니다.

사실, 난 HTTPS하지 HTTP 내가 없이 유효한 SSL 인증을 가지고 테스트 서버를 사용하고 있기 때문에 사용하여 다운로드하려고 노력했다.

PC는 물론 Android의 웹 브라우저에서 SSL 인증을 무시할 수 있습니다.

Android 웹 브라우저가 헤더를 읽을 수없는 이유가 여기에 있습니다.

https에서 http로 다운로드하는 방식이 변경되었으므로 완벽하게 작동합니다.

모든 문제와 답변을 보내 주셔서 감사합니다.

감사합니다.

+0

나를 위해, 모든 제안 작동하지 않는 http://stackoverflow.com/questions/27579260/set-header-not-working-for-filename-in-nodejs – pitu

관련 문제