OSChina에 올렸는데 그것도 내꺼인데 여기에 올려요 ㅎㅎ
이 코드는 한 번에 하나의 파일만 업로드할 수 있습니다~~
var path=require("path")
var fs=require(" fs");
var http=require("http");
//게시 값 페이로드
var getfield=function(field, value) {
return 'Content-Disposition: form-data; name="' 필드 '"rnrn' 값 'rn'
}
//파일 페이로드
var getfieldHead=function (필드, 파일 이름) {
var fileFieldHead ='콘텐츠 처리: 양식-데이터 이름="' 필드 '"; 파일 이름 '"rn' '콘텐츠 유형: ' getMime(filename) 'rnrn'
return fileFieldHead; }
//Get Mime
var getMime=function (filename) {
var mimes = {
'.png': 'image/png',
'.gif': 'image /gif',
' .jpg': 'image/jpeg',
'.jpeg': 'image/jpeg',
'.js': 'application/json',
' .torrent': 'application/octet -stream'
};
var ext = path.extname(filename);
var mime = mimes[ext]
mime=!!mime?mime :'application/octet-stream' ;
return mime;
}
//경계 확인 무작위 문자열 가져오기
var getBoundary=function() {
var max = 9007199254740992; >var dec = Math.random() * max;
var hex = dec.toString(36);
var border = hex;
}
//경계 가져오기
var getBoundaryBorder=function (boundary ) {
return '--' 경계 'rn'
}
//필드 형식 지정
function fieldPayload(opts) {
var payload= [];
for( opts.field의 var id){
payload.push(getfield(id,opts.field[id]))
}
payload.push("") ;
return payload.join(getBoundaryBorder(opts.boundary));
}
//post data
function postRequest(opts) {
filereadstream(opts,function(buffer) ) {
var options= require('url').parse(opts.url);
var Header={}
var h=getBoundaryBorder(opts.boundary)
var e= fieldPayload(opts);
var a=getfieldHead(opts.param,opts.file);
var d="rn" h
Header["Content-Length"]=Buffer.byteLength(he a d ) buffer.length;
헤더["Content-Type"]='multipart/form-data; 경계=' opts.boundary
options.headers=Header; ;
var req=http .request(options,function(res){
var data='';
res.on('data', function (chunk) {
data =chunk;
})
res.on('end', function () {
console.log(res.statusCode)
console.log(data);
}); >});
req .write(h e a);log.diy(he a buffer d);
req.end(d)
}; 🎜>
}
//파일 읽기
function filereadstream(opts, fn) {
var readstream = fs.createReadStream(opts.file,{flags:'r',encoding:null}) ;
var Chunks= [];
var length = 0;
readstream.on('data', function(chunk) {
length =chunk.length;
chunks.push( Chunk);
} );
readstream.on('end', function() {
var buffer = new Buffer(length);
for(var i = 0, pos = 0, size = 덩어리.길이; i chunks[i].copy(buffer, pos)
pos = 덩어리[i].length; buffer);
} );
}
//다양한 설정
var opt={
"url":"http://xxxx.xx",//url
"file":"00.jpg",//파일 위치
"param":"file",//파일 업로드 필드 이름
"field":{//기타 게시물 필드
"client":"1 ",
"title":"ok"
},
"boundary":"----WebKitFormBoundary" getBoundary()
}
postRequest(opt);
/*
------WebKitFormBoundaryuzKmkAovUuYsQ1Dtrn
콘텐츠 처리: form-data; filename="00.jpg"rn
컨텐트 유형: 애플리케이션 /옥텟-스트림
rn
rn 파일
------WebKitFormBoundaryuzKmkAovUuYsQ1Dtrn
컨텐트 처리: form-data name="fieldName" "
rn
rn valuern
------WebKitFormBoundaryuzKmkAovUuYsQ1Dt--
*/
마지막 설명은 표준 형식입니다." n"은 실제 문자열을 나타냅니다. 보기 편하도록 시각적으로도 조정됩니다.

Vercel是什么?本篇文章带大家了解一下Vercel,并介绍一下在Vercel中部署 Node 服务的方法,希望对大家有所帮助!

gm是基于node.js的图片处理插件,它封装了图片处理工具GraphicsMagick(GM)和ImageMagick(IM),可使用spawn的方式调用。gm插件不是node默认安装的,需执行“npm install gm -S”进行安装才可使用。

如何用pkg打包nodejs可执行文件?下面本篇文章给大家介绍一下使用pkg将Node.js项目打包为可执行文件的方法,希望对大家有所帮助!

本篇文章带大家详解package.json和package-lock.json文件,希望对大家有所帮助!

本篇文章给大家分享一个Nodejs web框架:Fastify,简单介绍一下Fastify支持的特性、Fastify支持的插件以及Fastify的使用方法,希望对大家有所帮助!

node怎么爬取数据?下面本篇文章给大家分享一个node爬虫实例,聊聊利用node抓取小说章节的方法,希望对大家有所帮助!

本篇文章给大家分享一个Node实战,介绍一下使用Node.js和adb怎么开发一个手机备份小工具,希望对大家有所帮助!

先介绍node.js的安装,再介绍使用node.js构建一个简单的web服务器,最后通过一个简单的示例,演示网页与服务器之间的数据交互的实现。


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

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

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
