Loading

如何在浏览器上传一个文件(图片)到服务器

总体思路:前端通过input type为file的表单将图片提交到后台(ajax请求),后台拿到文件并存储到指定目录,当前端上传成功后再发另一个请求向服务器要文件名,通过img标签src去访问。

HTML内容

1.form 表单enctype是将文件上传服务器,不加这个属性上传的是文件名
2.input file必须有name属性且

<form action='http://127.0.0.1:3000/upload' method='post' enctype= 'multipart/form-data'>
	<input type='file' name="xxx"></input>
	<input type='submit' value="提交"></input>
</form>

通常我们用Ajax来发送请求,而不用表单

server内容

用nodejs搭建的后台服务器

const express = require('express')
const multer = require('multer')
// 指定上传到服务器的目录
const upload = multer({dest:'yyy/'})
const app = express()
app.get('/',(req,res)=>{
    res.send('hello nodejs')
})
//single里指定文件的name
app.post('/upload',upload.single('xxx'),(req,res)=>{
    console.log(req.file);
    res.send('上传成功')
})
app.listen(3000,()=>{console.log('3000端口启动了');})
posted @ 2022-06-23 11:43  梧桐树211  阅读(1579)  评论(0编辑  收藏  举报