찾다

 >  Q&A  >  본문

node.js - nodejs中res.download()的的status code 是200 ok,但响应的都是乱码,求解!

router.use("/download",function (req, res, next) {

res.download('d:/myFile/','模板.xlsx',function (err) {
    if(err){
        res.send(err);
    }else{
        res.send(true);
    }
});

});

后来又返回了以下这个
code:"ENOENT"
errno:-4058
expose:false
path:"E:企业版开通模板.xlsx"
status:404
statusCode:404
syscall:"stat"
res.download()的status code 是200 ok,但返回值都是乱码,这又该咋办呢?

大家讲道理大家讲道理2784일 전891

모든 응답(1)나는 대답할 것이다

  • 迷茫

    迷茫2017-04-17 15:55:09

    경로에 문제가 있습니까? 구체적인 반환 값은 인터페이스가 {"code":"EISDIR"}을 정의하는 방식에 따라 달라집니다.

    Express는 서버에서 실행되는 프로그램입니다. 다운로드할 특정 디렉터리는 클라이언트에 의해 결정됩니다. 예를 들어 브라우저 설정은 기본적으로 데스크톱에 다운로드됩니다.

    res.download의 API는 다음과 같습니다:
    res.download(path, [filename], [fn])
    path에 있는 파일을 "첨부 파일"로 전송합니다. 일반적으로 브라우저는 사용자에게 다운로드하라는 메시지를 표시합니다. 브라우저 대화 상자에 표시되는 매개변수인 Content-Disposition "filename=" 매개변수는 기본적으로 경로로 설정되지만 제공할 수도 있습니다. 파일 이름을 재정의합니다.

    오류가 발생하거나 전송이 완료되면 선택적 콜백 fn이 호출됩니다. 이 메소드는 res.sendfile()을 사용하여 파일을 전송합니다.

    으아악

    회신하다
    0
  • 취소회신하다