노드 형태의 이미지 업로드 종합 분석
노드는 양식 이미지 업로드를 완전히 구문 분석하고, 다중 당사자는 파일 업로드라고도 알려진 콘텐츠 유형 multipart/form-data를 사용하여 HTTP 요청을 구문 분석합니다.
다중 설치
npm install multiparty
html 코드
<form action="/api/uppic" method="post" > <input type="file" name="pic" > <input type="submit"> </form>
노드 코드
app.route('/api/uppic').post(function(req,res){ var multiparty = require('multiparty'); var form = new multiparty.Form();//新建表单 //设置编辑 form.encoding = 'utf-8'; //设置图片存储路径 form.uploadDir = "Uploads/gaoxiao/"; form.keepExtensions = true; //保留后缀 form.maxFieldsSize = 2*1024*1024; //内存大小 form.maxFilesSize= 5*1024*1024;//文件字节大小限制,超出会报错err //表单解析 form.parse(req, function(err,fields,files) { //报错处理 if(err){ console.log(err); var u={"error" :1,"message":'请上传5M以图片'}; res.end(JSON.stringify(u)); return false; } //获取路径 var oldpath=files.imgFile[0]['path']; //文件后缀处理格式 if(oldpath.indexOf('.jpg')>=0){ var suffix='.jpg'; }else if(oldpath.indexOf('.png')>=0){ var suffix='.png'; }else if(oldpath.indexOf('.gif')>=0){ var suffix='.gif'; }else{ var u={"error" :1,"message":'请上传正确格式'}; res.end(JSON.stringify(u)); return false; } var url='Uploads/gaoxiao/'+Date.now()+suffix; var fs=require('fs'); //给图片修改名称 fs.renameSync(oldpath,url); var u={ "error" : 0, "url" : '/'+url} res.end(JSON.stringify(u)); }); });
multiparty
multiparty.Form이 새 양식을 생성합니다**
인코딩: 사용됨 양식 필드 세트 인코딩을 입력합니다. 기본값은 utf8
maxFieldsSize: 모든 필드(파일 아님)가 할당할 수 있는 메모리 양을 바이트 단위로 제한합니다. 이 값을 초과하면 오류 이벤트가 발생합니다. 기본 크기는 2MB입니다.
maxFields: Limit, 필드 수를 구문 분석하기 전에 오류 이벤트가 발생합니다. 이 경우 파일은 필드로 간주됩니다. 기본값은 1000입니다.
maxFilesSize: 업로드 파일 크기 제한(관련 autoFiles가 true인 경우에만). 병합된 모든 파일에 허용되는 총 바이트 수를 제한합니다. 이 값을 초과하면 오류 이벤트가 발생합니다. 기본값은 무한대입니다.
autoFields: 필드 이벤트를 활성화하고 부품 이벤트를 비활성화하는 필드입니다. 필드 리스너가 추가되면 자동으로 true로 설정됩니다.
uploadDir: 관련 autoFiles가 true인 경우에만 해당됩니다. 업로드할 파일을 저장할 디렉터리입니다. 나중에 fs.rename()을 사용하여 이동할 수 있습니다. 기본값은 os.tmpDir()입니다.
form.parse(req, function(err,fields,files){})
- fields: 개체(업로드 이름 및 값), 해당 속성입니다. 이름의 필드 이름과 값은 필드 값의 배열입니다.
- 파일: 개체(업로드 이름 및 서버 파일 경로)이며, 필드 이름과 해당 속성 이름 값은 파일 개체의 배열입니다.
파일 내의 파일 객체 파일 - 다음 속성을 가진 객체:
- fieldName - 동일한 이름 - 이 파일의 필드 이름
- originalFilename - 파일 이름, 이 파일의 사용자에 대한 보고서
- 경로 - 디스크에 업로드된 파일의 절대 경로
- 헤더 - 전송된 HTTP 헤더입니다. 파일
- 크기 - 파일 크기(바이트)
노드 형식 구문 분석(다자간) API 주소: https://www.npmjs.com/package/multiparty

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











nvm을 사용하여 노드를 삭제하는 방법: 1. "nvm-setup.zip"을 다운로드하여 C 드라이브에 설치합니다. 2. "nvm -v" 명령을 통해 환경 변수를 구성하고 버전 번호를 확인합니다. install" 명령 노드 설치; 4. "nvm uninstall" 명령을 통해 설치된 노드를 삭제합니다.

파일 업로드를 처리하는 방법은 무엇입니까? 다음 글에서는 Express를 사용하여 노드 프로젝트에서 파일 업로드를 처리하는 방법을 소개하겠습니다. 도움이 되길 바랍니다.

이 기간 동안 저는 Tencent 문서의 모든 카테고리에 공통되는 HTML 동적 서비스를 개발 중입니다. 다양한 카테고리에 대한 액세스 생성 및 배포를 촉진하고 클라우드로 이동하는 추세에 부응하기 위해. Docker를 사용하여 서비스 콘텐츠를 수정하고 제품 버전을 균일하게 관리합니다. 이 글에서는 제가 Docker를 서비스하면서 쌓은 최적화 경험을 여러분의 참고용으로 공유하겠습니다.

이 기사에서는 Node의 프로세스 관리 도구인 "pm2"를 공유하고 pm2가 필요한 이유, pm2 설치 및 사용 방법에 대해 설명합니다. 모두에게 도움이 되기를 바랍니다!

Pinetwork 노드에 대한 자세한 설명 및 설치 안내서이 기사에서는 Pinetwork Ecosystem을 자세히 소개합니다. Pi 노드, Pinetwork 생태계의 주요 역할을 수행하고 설치 및 구성을위한 전체 단계를 제공합니다. Pinetwork 블록 체인 테스트 네트워크가 출시 된 후, PI 노드는 다가오는 주요 네트워크 릴리스를 준비하여 테스트에 적극적으로 참여하는 많은 개척자들의 중요한 부분이되었습니다. 아직 Pinetwork를 모른다면 Picoin이 무엇인지 참조하십시오. 리스팅 가격은 얼마입니까? PI 사용, 광업 및 보안 분석. Pinetwork 란 무엇입니까? Pinetwork 프로젝트는 2019 년에 시작되었으며 독점적 인 Cryptocurrency Pi Coin을 소유하고 있습니다. 이 프로젝트는 모든 사람이 참여할 수있는 사람을 만드는 것을 목표로합니다.

nodejs 실행 파일을 pkg로 패키징하는 방법은 무엇입니까? 다음 기사에서는 pkg를 사용하여 Node 프로젝트를 실행 파일로 패키징하는 방법을 소개합니다. 도움이 되기를 바랍니다.

"node-gyp.js"와 "Node.js"의 버전이 일치하지 않아 npm node gyp가 실패했습니다. 해결 방법: 1. "npm 캐시 clean -f"를 통해 노드 캐시를 지웁니다. 2. "npm install - g n" n 모듈을 설치합니다. 3. "n v12.21.0" 명령을 통해 "node v12.21.0" 버전을 설치합니다.

싱글 사인온(SSO) 시스템이란 무엇입니까? nodejs를 사용하여 구현하는 방법은 무엇입니까? 다음 글에서는 Node를 사용하여 Single Sign-On 시스템을 구현하는 방법을 소개하겠습니다. 도움이 되길 바랍니다.
