var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello express!');
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
});
node app.js // 启动服务
🆗到这就证明已成功部署 node demo 服务了!
图床-支持多张上传
npm install formidable
npm install multer
新建文件夹目录 uploads
新建 index.html,这里直接贴代码
<body>
<div style="max-width:1200px;margin:0 auto;text-align: center;margin-top: 150px;">
<input type="file" class="file" name="file" multiple="multiple" />
<ul id='urlList'></ul>
</div>
</body>
<script>
document.querySelector('.file').addEventListener('change', function (e) {
let files = e.target.files
if (!files.length) return
// 上传文件 创建FormData
let formData = new FormData()
// 遍历FileList对象,拿到多个图片对象
for (let i = 0; i < files.length; i++) {
// formData中的append方法 如果已有相同的键,则会追加成为一个数组 注意:这里需要使用formData.getAll()获取
formData.append('upFile', files[i], files[i].name)
}
console.log(formData.getAll('upFile'))
// 将formdata发送到后台即可
// 我用的 axios.post('url', formData)
let xhr = new XMLHttpRequest()
xhr.open('post', '/upload', true)
xhr.send(formData);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
alert('success')
console.log(xhr.responseText)
let resObj = JSON.parse(xhr.responseText).message;
let hostport = document.location.host; //ip:端口号
resObj && resObj.forEach(item => {
document.getElementById('urlList').innerHTML += '<a href=http://' + hostport +
item + '>' + hostport + item + '</a><br>';
})
}
}
})
</script>