2017-10-24 10 views
0

다음 단계를 통해 NodeRED를 테스트했습니다. 사용 브라우저 노드의 NodeRED http는 Content-Type을 application/octet-stream으로 설정하더라도 charset = utf-8을 추가합니다.

  • NodeRED 공용 폴더에

    • 넣어 file.zip는 http://example.com/file.zip를 통해 직접 파일을 얻을 수 있습니다. 그것은 잘 작동합니다. HTTP In node image
    • /file.zip application/octet-stream

    • attachment; filename= file.zip

      Content-Type에 다음과 같은 응답 헤더 HTTP response node image

      Content-Disposition를 HTTP 응답 노드를 생성하고 설정에서

    • 는 GET 요청을 수락 노드에서 HTTP를 만들
    • 브라우저에서이 url을 요청하면 file.zip은 다운로드는 가능하지만 열 수 없습니다 (손상된). 브라우저에서 네트워크 디버거 도구를 보면 Content-Type 응답 헤더가 application/octet-stream; charset=utf-8이고 Content-Disposition이 예상대로 설정되어 있음을 알 수 있습니다.

    내 NodeRED 버전 0.17.5 (최신)에서 이미 수정 된이 문제점 (https://github.com/node-red/node-red/issues/1023)을 발견했습니다. 내 문제와 관련이 있는지 확실하지 않습니다.

    나는 charset=utf-8이 범인이라고 생각합니다. Content-Disposition:attachment; filename= file.zip을 사용하여 http-in 노드를 통해 file.zip을 성공적으로 다운로드하려면 어떻게합니까?

  • +0

    이 문제가 올바르게 수정되지 않았다면 여기서 문제가 아니라 문제에 대해 의견을 제시하는 것이 좋습니다. – hardillb

    +0

    또한 의견을 말하면 문제를 보여주는 작은 샘플 흐름을 포함하십시오. – hardillb

    +0

    좋아요, 거기에 의견을 게시하겠습니다. – piptan

    답변

    0

    @hardillb에 의해 지적 되었 듯이, 나의 흐름은 어떤 데이터도 보내지 않았다. 나는 functionGlobalContext와 readFileSync를 사용하여 http 응답 노드로 보내기 전에 파일의 내용을로드해야한다.