[javascript] Bluebird를 사용하여 파일 업로드 및 다운로드를 처리하는 방법을 알려주세요.
Bluebird는 JavaScript에서 사용할 수 있는 Promise 라이브러리로, 비동기 작업을 더 쉽게 다룰 수 있도록 도와줍니다. 파일 업로드 및 다운로드를 처리할 때 Bluebird를 사용하면 코드를 더 깔끔하게 작성하고 오류 처리를 효율적으로 할 수 있습니다.
파일 업로드 처리
Bluebird를 사용하여 파일 업로드를 처리하는 예제 코드입니다.
const Promise = require('bluebird');
const fs = Promise.promisifyAll(require('fs'));
const request = Promise.promisify(require('request'));
function uploadFile(filePath, uploadUrl) {
return fs.readFileAsync(filePath).then((fileData) => {
return request({
url: uploadUrl,
method: 'POST',
body: fileData
});
});
}
uploadFile('localFilePath', 'uploadUrl')
.then((response) => {
console.log('파일 업로드 완료:', response.body);
})
.catch((error) => {
console.error('파일 업로드 실패:', error);
});
이 코드는 Bluebird를 사용하여 파일을 읽고, 해당 파일을 POST 요청으로 업로드하는 방법을 보여줍니다.
파일 다운로드 처리
Bluebird를 사용하여 파일 다운로드를 처리하는 예제 코드입니다.
function downloadFile(downloadUrl, savePath) {
return request({ url: downloadUrl, encoding: null }).then((response) => {
return fs.writeFileAsync(savePath, response.body);
});
}
downloadFile('downloadUrl', 'localSavePath')
.then(() => {
console.log('파일 다운로드 완료');
})
.catch((error) => {
console.error('파일 다운로드 실패:', error);
});
이 코드는 Bluebird를 사용하여 파일의 내용을 가져와 로컬에 저장하는 방법을 보여줍니다.
Bluebird를 사용하면 파일 업로드 및 다운로드와 같은 비동기 작업을 효율적으로 처리할 수 있습니다.
참고문헌:
이 글이 Bluebird를 사용한 파일 업로드 및 다운로드 처리에 대해 도움이 되었기를 바랍니다!