带图片上传功能

一.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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值