2016-02-26 3 views
1

Я пытаюсь отправить изображение, которое будет отображаться в полноэкранном режиме в браузере, но проблема в том, что следующий код заставляет файл отправлять в виде вложения (скачанного), аналогично res.download() вместо отображения изображения:res.sendFile force файл для загрузки

res.sendFile(file, {root: path.join(__dirname, '../storage')}) 

есть ли способ, чтобы отобразить изображение, не делая заставляя его быть загружен или без чтения файла необработанного?

ответ

4

Я обнаружил, что проблема в том, что файл не имеет расширения файла. Поскольку res.sendFile() пытается автоматически установить заголовок содержимого, это вызывало проблемы, которые заставляли загружать файлы, а не отображаться.

Если файлы не имеют расширение файла вы можете вручную установить заголовок Content-Type для res.sendFiel() как так:

res.sendFile(file, {headers: {'Content-Type': 'image/jpeg'}}) 

который заставит изображение, которое будет отображаться правильно.

Смежные вопросы