2016-07-12 3 views
0

나는 단순한 파일 서버를 nodejs로 작성하여 서버 URL에 대한 GET 요청과 같은 요청에 응답한다. www.site.com/cdn/filename/latest 이렇게하면 사용자가 wget 요청을하고 "filename"이라는 파일의 "최신"버전을 가져와야한다. . 문제는 결과 파일의 이름이 "filename"이 아니라 "latest"라는 것입니다.HttpResponse에서 다운로드 한 파일의 이름을 설정하는 방법은 무엇입니까?

헤더를 통해 응답에서 보내지는 파일의 이름을 설정하는 방법이 있습니까?

아래의 방법은 응답을 작성합니다.

function sendFile(res, filepath) { 
    res.writeHead(200, { 
     'Content-Type': mime.lookup(filepath) 
    }) 
    fs.createReadStream(filepath).pipe(res) 
} 

답변

0

콘텐츠 처리는 사용할 헤더입니다. w3.org

const path = require('path') 
function sendFile(res, filepath) { 
    var filename = path.basename(filepath) 
    res.writeHead(200, { 
     'Content-Type': mime.lookup(filepath), 
     'Content-Disposition': 'inline; filename="'+filename+'"' 
    }) 
    fs.createReadStream(filepath).pipe(res) 
} 
관련 문제