가장 간단한 업로더? 강력한 Node.js 객체 업로더 만들기
5656 단어 tutorialjavascriptnodewebdev
이미지가 없는 웹 사이트를 보는 것은 매우 드뭅니다. 대부분의 경우 이러한 웹 사이트는 정적이 아니며 이미지와 세부 정보는 관리자 패널 대시보드에서 관리됩니다. 또는 웹 사이트에서 세부 정보가 있는 파일을 첨부하는 양식을 본 적이 있습니다. .
업로더는 서버가 클라이언트 측에서 다가오는 파일을 처리하도록 하는 방법에 대한 방법입니다.
이 기사에서는 파일 유형에 제한을 두지 않고 추가 패키지를 사용하지 않고 거의 모든 파일 유형에 대해 작동하는 파일 업로더를 만드는 방법에 대해 설명합니다.
파일을 서버로 전송하는 두 가지 일반적인 방법이 있습니다(전체 파일이므로 여기에는 스트림 없음).
이를 위해서는 일반적으로 Multer 과 같은 본문에서 이 복잡한 데이터를 구문 분석할 수 있는 본문 구문 분석기가 필요합니다.
한 가지 알아 두어야 할 것은 Base64 인코딩은 각 3비트를 4비트로 작성하여 파일 크기를 최대 %30까지 증가시킨다는 것입니다.
우리가 하는 일:
세상에는 많은 패키지가 있지만 때로는 제한 없이 무엇이든 수락할 수 있는 간단한 것이 필요합니다.
시작하자
이 API에 도달하는 모든 파일은 base64로 인코딩되어야 합니다. Front-End에서 base64 업로더가 있는 많은 라이브러리를 찾을 수 있습니다.
문자열이 너무 커지지 않도록 1px x 1px 이미지를 얻었습니다.
온라인 변환기에서 base64로 변환했습니다Base64 encoder.
코딩을 시작하자
새로운 node.js 프로젝트 생성 =>
먼저 이것을 실행하여 node.js 프로젝트를 생성합니다.
npm init
그런 다음 업로더를 위한 놀이터로 index.js를 생성합니다.
먼저 Node.js의 Fs 코어 모듈을 가져와 파일에 base64 예제를 넣겠습니다.
const fs = require("fs").promises;
let exampleImage = "data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAAxJREFUGFdjcOyfCQACfgFqcbSa6QAAAABJRU5ErkJggg=="
그런 다음 함수 업로드를 추가하고 간단하게 이름을 지정하고 간단하게 파일 접미사를 하드코딩했지만 일반적으로 base64로 인코딩된 문자열에는 파일 유형도 포함되며 이름으로 입력할 수 있습니다.${파일 접미사 추출}.
const upload = async (base64) => {
const fileSuffix = "png"
const name = `anyFileName.${fileSuffix}`
const dir = `${__dirname}/file/${name}`;
const base64Data = Buffer.from(
base64.replace(/^data:image\/\w+;base64,/, ""),
"base64"
);
await fs.writeFile(`${dir}`, base64Data);
};
그런 다음 저장하려는 디렉토리가 있고 기본적으로 Base64Data에서 base64를 추출하여 버퍼로 전환합니다.
마지막으로 지정된 폴더에 데이터를 씁니다.
그런 다음 기능을 실행하십시오
upload(exampleImage);
이것은 프로그램을 실행한 결과입니다.
node index.js
출력은 이미지를 성공적으로 저장했다는 것입니다.
이것만으로도 원하는 개체를 저장할 수 있습니다. .. base64가 필요하고 업로드된 파일이 무엇인지 간단히 알 수 있습니다. PDF, 이미지 또는 파일인 경우.
이 기사를 읽어 주셔서 감사합니다.
Reference
이 문제에 관하여(가장 간단한 업로더? 강력한 Node.js 객체 업로더 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ali_a_koye/simplest-uploader-creating-powerful-nodejs-object-uploader-359o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)