diff --git a/lib/extend/context.js b/lib/extend/context.js index e6523d5f..96117a27 100644 --- a/lib/extend/context.js +++ b/lib/extend/context.js @@ -298,10 +298,12 @@ module.exports = { * @param {String} filepath * @param {String} filename */ - download(filepath, filename) { + download(filepath, filename = path.basename(filepath)) { assert(filepath, 'filepath can not be empty'); - this.type = path.extname(filepath); - filename = filename || path.basename(filepath); + const contentType = this.response.get('Content-Type'); + if (!contentType) { + this.type = path.extname(filename); + } const contentDisposition = this.response.get('Content-Disposition'); if (!contentDisposition) { this.attachment(filename);