前端html,js实现图片的上传与下载

简介: 前端html,js实现图片的上传与下载

html 上传

  <form>
        <input type="file">
    </form>
    <button>上传图片</button>


js

let but = document.querySelector('button');
        let form = document.querySelector('form');
        but.addEventListener('click', () => {
            let Formdata = new FormData(form); //前端所需的函数   
            Formdata.append('file', form.children[0].files[0]);//获取form下的子元素
            let xhr = new XMLHttpRequest();
            xhr.open('POST', 'http://loalhost:8000/loadUp');
            xhr.send(Formdata);
            xhr.onreadystatechange = function () {
                if (xhr.readyState == 4) {
                    if (xhr.status == 200) {
                        console.log(xhr.response);
                    }
                }
            }
        })


js 服务器的建立

说明一下,这里需要node 来加载express ,还需要下载mutiparty 模块

/**
  上传
*/
const express = require('express');
const app = express();
//后端上传需要的
const multiparty = require('multiparty');
app.post('/loadUp', (request, response) => { //上传图片
    let form = new multiparty.Form({
        uploadDir: '你想要上传并存放的位置'     //文件转存
    });
    form.parse(request, (err, fields, files) => {//fields: 上传普通的数据 ;file: 上传文件
        console.log(fields, 'fields');
        console.log(files, 'files');
    })
    response.setHeader('Access-Control-Allow-Origin', '*');//允许请求所有跨域 
    response.send("200");
})
app.listen(8000, () => {
    console.log("8000端口启动");
})


html 下载

<img src="http://loalhost:8000/getImg" alt="">


js

//后端下载需要模块
const fs = require('fs');
app.get('/getImg', (request, response) => { //图片的下载
    response.setHeader("Access-Control-Allow-Origin", "*");// 允许请求所有跨域 *
    fs.readFile('下载图片的位置', (err, data) => {
        console.log(data);
        response.send(data);
    })
app.listen(8000, () => {
    console.log("8000端口启动");
})
})


目录
相关文章
|
1月前
|
JavaScript 前端开发
vue前端下载,实现点击按钮弹出本地窗口,选择自定义保存路径
这个不用代码实现(网上也找不到方法可以调出另存为窗口),更改浏览器设置就可以,否则,现在的浏览器都是默认直接保存到下载路径中
65 3
|
26天前
|
移动开发
uni-app使用v-html输出富文本图片溢出解决
uni-app使用v-html输出富文本图片溢出解决
39 1
|
1天前
|
机器学习/深度学习 前端开发 JavaScript
探寻前端巨变:从HTML到现代框架的发展历程
探寻前端巨变:从HTML到现代框架的发展历程
11 2
|
2天前
|
JavaScript 前端开发 BI
原生html—摆脱ps、excel 在线绘制财务表格加水印(html绘制表格js加水印)
原生html—摆脱ps、excel 在线绘制财务表格加水印(html绘制表格js加水印)
6 1
|
2天前
在线拼接图片工具HTML源码
在线将多张图片拼接成一张图片,多图合一并导出下载。 无需本地安装软件。 下载时,使用日期时间作为文件名, 规避图片文件名相同造成的覆盖问题;也能省去一部覆盖确认操作 多语言支持
2 0
在线拼接图片工具HTML源码
|
10天前
|
JavaScript 前端开发
js怎么删除html元素
js怎么删除html元素
23 10
|
12天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
18 1
|
19天前
|
JSON JavaScript 前端开发
js是什么、html、css
js是什么、html、css
|
24天前
|
人工智能 前端开发 JavaScript
【前端设计】HTML+CSS+JavaScript基本特性
【前端设计】HTML+CSS+JavaScript基本特性
|
1月前
|
移动开发 前端开发 HTML5
Web前端全栈HTML5通向大神之路
本套课程共三大阶段,六大部分,是WEB前端、混合开发与全栈开发必须要掌握的技能,从基础到实践,是从编程小白成长为全栈大神的最佳教程!
50 3
Web前端全栈HTML5通向大神之路