一.multerparty模块
前端:let data=new formdata(form) 将form 的数据赋值给data
后端:let form = new multerparty.form({
uloadDire:'./upload'
'}) 放入同级文件夹upload中 前提是需要提前创建出来
<form id='form' method='post' enctype='multerparty-formdata' action='http://localhost:8088/reg'>
<p>
用户名:<input type='text' name='username'>
</p>
<p>
密码:<input type='text' name='upass'>
</p>
<p>
头像:<input type='file' name='f1'>
</p>
<p>
<input type='shubmit' name='username'>
</p>
</form>
<script>
let form = documen.getElementById('form')
form.onsubmin=function(){
let data = new formdata(form) //form 的数据放到data里面
let xhr = new XMLHttpRequest()
xhr.open(form.method,form.action,true) //打开的方式以及端口
xhr.send(data) //发送的数据
xhr.onreadystatechang=function(){
if(xhr.resdystate==4&&xhr.status==200){
console(xhr.responsetext) //传输过来的数据
}}
retrun false
}
</script>
const http = require("http")
const multiparty = require("multiparty")
const url = require("url")
const fs=require("fs")
let server = http.createServer((req, res) => {
if (req.method == "POST") {
if (req.url == "/reg") {
let form = new multiparty.Form({//创建一个mutilparty对象
uploadDir:"./upload" //上传后存入的数据文件夹
})
form.parse(req, (err, data, files) => {
if (err) {
console.log("发生了错误")
// console.log(err)
}
// console.log(data) //前端发送过来的数据
// console.log(files)//上传的图片信息
res.write("123")
res.end()
})
}
} else if (req.method == "GET") {
let { pathname, query } = url.parse(req.url, true)
if (pathname.endsWith(".html")) {
fs.readFile(`./www${pathname}`, (err, data) => { //读取传输过来的地址文件
if (err) {
res.write("404")
res.end()
} else {
res.write(data)
res.end()
}
})
}
}
})
server.listen(8080)