JavaScript实现图片上传并预览并提交
学习一下思路,上传部分可以用vue对象方法和axios代替
图片上传并预览
HTML
<div class="file-box"><img id="preview" /><input type="text" id="imgfield" class="txt" placeholder="预览"><input type="file" name="file" id = "input_file" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg" onchange="imgPreview(this)" >
</div>
css
.file-box {position: relative;display: inline-block;
}
.file-box img {width: 50px;height: 50px;border-radius: 50%;position: absolute;top: -30px;left: 0;display: inline-block;border: none;
}
.file-box .txt,.file-box .file {width: 70px;height: 36px;position: absolute;top: -20px;left: 100px;text-align: center;
}
JS
function imgPreview(fileDom) {//判断是否支持FileReaderif(window.FileReader) {var reader = new FileReader();} else {alert("您的设备不支持图片预览功能,如需该功能请升级您的设备!");}//获取文件var file = fileDom.files[0];var imageType = /^image\//;//是否是图片if(!imageType.test(file.type)) {alert("请选择图片!");return;}//读取完成reader.onload = function(e) {//获取图片domvar img = document.getElementById("preview");//图片路径设置为读取的图片img.src = e.target.result;};reader.readAsDataURL(file);
}
上传图片提交ajax
如果想把图片信息通过ajax传给后端,则需要通过new FormData() 上传图片信息,然后使用 append() 方法向该对象里添加字段,具体代码如下:
(注:以下代码在图片预览成功后执行,也就是在reader.readAsDataURL(file); 后)
var formData = new FormData();
formData.append('file', $('#input_file')[0].files[0]); //添加图片信息的参数
formData.append('sizeid',123); //添加其他参数
$.ajax({url: '/material/uploadFile',type: 'POST',cache: false, //上传文件不需要缓存data: formData,processData: false, // 告诉jQuery不要去处理发送的数据contentType: false, // 告诉jQuery不要去设置Content-Type请求头success: function (data) {var rs = eval("("+data+")");if(rs.state==1){tipTopShow('上传成功!');}else{tipTopShow(rs.msg);}},error: function (data) {tipTopShow("上传失败");}
})
---------------------
作者:猫老板的豆
来源:CSDN
原文:https://blog.csdn.net/x550392236/article/details/76690927
版权声明:本文为博主原创文章,转载请附上博文链接!
JavaScript实现图片上传并预览并提交相关推荐
- 用JavaScript实现图片上传并预览
一.前端界面是通过jqgrid展示的 jqgrid是典型的B/C架构(浏览器/服务器模式),服务器端只需提供数据管理,浏览器只需负责数据显示. jqGrid是用ajax实现对请求和响应的处理,支持局部 ...
- js实现图片上传本地预览
演示地址:https://xibushijie.github.io/static/uploadImg.html <!DOCTYPE> <html><head>< ...
- DevExpress控件使用系列--ASPxUploadControl(图片上传及预览)
1.控件功能 列表控件展示数据.弹框控件执行编辑操作.Tab控件实现多标签编辑操官方说明 2.官方示例 2.1 ASPxImage http:// ...
- html之file标签 --- 图片上传前预览 -- FileReader
记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...
- MUI 图片上传、预览、删除重选等等实现
MUI 图片上传.预览.删除重选等等实现 本地项目路径: C:\Users\Administrator\Desktop\超实用的javascript代码\10.5 - MUI 轮播\login\set ...
- input文件框选择本地图片后页面预览图片并获取图片长宽以及大小 图片上传前预览
前面有转过一篇通过HTML5来实现图片上传前预览 ,现在借助FileReader也实现了这个需求.并且同时还可以获得图片的长宽相素以及图片文件的大小.demo如下: <html> < ...
- MUI学习笔记之图片上传和预览
MUI学习笔记之图片上传和预览 源代码是从博客园下载 我一边学习,一边注释,力求理解 <head> <meta charset="UTF-8"> <m ...
- html5图片上传与预览实现
最近做项目需要用到图片上传与预览功能,由于是用于手机端,所以研究了下H5的实现方式. 图片预览 首先,解决图片预览问题.在html5中,提供了FileReader来读取本地文件,使我们可以实现图片预览 ...
- alert()的功能_前端实现简单的图片上传小图预览功能
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- vue富文本编辑,编辑自动预览,单个图片上传不能预览的问题解决:
vue富文本编辑,编辑自动预览,单个图片上传不能预览的问题解决: 参考文章: (1)vue富文本编辑,编辑自动预览,单个图片上传不能预览的问题解决: (2)https://www.cnblogs.co ...
最新文章
- 安卓SurfaceFlinger框架初探
- 刷新页面时间不重置 前端倒计时_brackets:前端开发工程师必备编辑器之一
- USB-HDD-WinPE U盘版WINPE启动盘维护系统
- php实现复选框删除功能,php怎么实现复选框批量删除
- 287. Find the Duplicate Number
- iTerm2 保存日志
- 【python数字信号处理】——Z变换
- Web安全渗透测试之信息搜集篇(上)
- fedora yum 安装mysql
- php number_format 通过千位分组来格式化数字
- R与RStudio的详细安装教程(有每一步的详细教程!!!!)
- python编写收入支出明细程序_python 处理微信对账单数据的实例代码
- 聊聊Ping命令的返回值Pong
- java 微信隐藏右上角_不懂这11个隐藏技巧,别说你会用微信
- 什么是创意啊?这才是创意
- 《学习opencv》第四章1,2题(第二题详解,最切题)
- 1.[QT | QCharts | 动态显示]折线图标题字体大小无法更改
- iPhoneX停产?对此不敢苟同
- 根据日期计算属于第几周(周日是一周的第一天)
- 高德地图搜索附近地址所遇到的问题
热门文章
- Qt:多线程--子线程间通讯
- java 实际参数列表_JAVA实际参数和形式参数列表长度不同
- 实操:SparrowRecsys的首次运行
- Reverse Linked List(非递归解法)
- AS 更新项目gradle方法
- 超标量体系结构_计算机体系结构——以多发射和静态调度来开发ILP
- DBSCAN聚类算法C++实现
- vmware ubuntu 16.04 guest 修复不能桌面大小自动调整和从宿主机复制粘贴的问题
- 不写xml的MyBatis-Plus中关联属性的查询(1对1,1对n)
- 一起学Hive——总结复制Hive表结构和数据的方法