728x90
반응형
Firebase 업로드 기능 개발 시작!
분할한 파일을 Cloud Storage 에 업로드 해야 Cloud Translation API 를 사용할 수 있다.
Cloud Storage 에 직접 업로드를 시도해봤는데 보안 문제 때문에 안되는 것이 많았다.
그래서 버킷만 Cloud Storage에 만들어두고 업로드와 다운로드는 Firebase 통해서 하기로 결정했다.
Firebase 에서 Cloud Storage의 버킷에 엑세스 할 수 있었다.
업로드가 모두 완료되고 나서 다음 작업을 할 수 있도록 Promise 도 걸어놨다.
const uploadPDF = async (splitPDFs, storage) => {
try {
// 분할된 PDF 업로드
const uploadPromises = splitPDFs.map((pdfBytes, index) => {
return new Promise((resolve, reject) => {
var storageRef = ref(storage, `${index}_${file.name}`);
var blob = new Blob([pdfBytes], { type: 'application/pdf' });
uploadBytes(storageRef, blob).then((snapshot) => {
console.log('Uploaded a file!');
resolve();
}).catch(reject);
});
});
await Promise.all(uploadPromises);
console.log("file upload finished");
} catch (error) {
console.error('파일 업로드 오류:', error);
alert('파일 업로드 중 오류가 발생했습니다.');
}
}
이제 번역 기능과 다운로드 기능만 만들면 프로토타입은 완성이다!
728x90
반응형
'개발 일지 > PDF 파일 번역 프로그램' 카테고리의 다른 글
PDF 파일 번역 프로그램 - PDF파일 병합 및 다운로드 (0) | 2024.04.19 |
---|---|
PDF 파일 번역 프로그램 - Cloud Translation API (1) | 2024.04.18 |
PDF 파일 번역 프로그램 - PDF 파일 분할(javascript) (0) | 2024.04.18 |
PDF 파일 번역 프로그램 - 브라우저 파일 업로드 (0) | 2024.04.18 |
PDF 파일 번역 프로그램 - 계획 수립 (0) | 2024.04.01 |
댓글