HTTP 프로토콜의 Content-Disposition
Contents
Startup
mkdir node-download && cd node-download
npm init && cnpm i --save express
vim app.js
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000, function () {
console.log(' ');
});
node app.js
curl localhost:3000
Node
vim app.js
var fs = require('fs');
var express = require('express');
var app = express();
app.get('/preview', function (req, res) {
var filename = 'image.jpg';
res.sendFile(filename, {
root: __dirname
});
});
app.get('/download', function (req, res) {
var filename = 'image.jpg';
res.download(filename);
});
app.get('/deleteAfterDownload', function (req, res) {
var filename = 'temp.jpg';
fs.writeFileSync(filename, fs.readFileSync('image.jpg'));
var stream = fs.createReadStream(filename);
stream.once("end", function () {
stream.destroy();
fs.unlinkSync(filename);
}).pipe(res);
});
app.listen(3000, function () {
console.log(' ');
});
node app.js
HTTP
curl -I localhost:3000/download
# Content-Disposition: attachment; filename="image.jpg"
vim app.js
app.get('/deleteAfterDownload', function (req, res) {
var filename = 'temp.jpg';
fs.writeFileSync(filename, fs.readFileSync('image.jpg'));
var stream = fs.createReadStream(filename);
res.set('Content-Disposition', 'attachment; filename="temp.jpg"');
stream.once("end", function () {
stream.destroy();
fs.unlinkSync(filename);
}).pipe(res);
});
ndoe app.js
HTTP 프로토콜 Content-Disposition 응답 헤더: inline (기본값) 은 웹 페이지에 attachment를 표시하면 로컬로 다운로드됨을 나타냅니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.