html更改上传图片样式,并显示更改后的图片,增加js验证大小,没样式搓的不忍直视

本文主要是介绍html更改上传图片样式,并显示更改后的图片,增加js验证大小,没样式搓的不忍直视,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

html更改上传图片样式,原版的实在搓,虽然本人制作的也比较low,但马虎着凑活着用吧

博主还加了谷歌火狐的计算上传文件大小的js验证,如果上传文件为空或者文件过大有弹窗提示

 

不多哔哔了,直接上代码

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>上传头像</title></head><script src="js/jquery-3.2.1.js"></script><style type="text/css">#userimage {width: 200px;height: 200px;border: 1px solid lightgrey;}#usertouxiang {width: 200px;height: 200px;background: #CCCCCC;}#upfilebutton {font-size: 18px;background-color: tomato;color: white;border-radius: 5px;}.uplabel {width: 200px;height: 30px;margin-top: 20px;}</style><body><input type="file" id="upfile" name="" style="display: none" accept="image/png, image/jpeg, image/gif, image/jpg"onchange="" /><div id="usertouxiang"><img id="userimage" src="img/defaulting.jpg" /><!-- 给予一个初始默认图片,不然显示不太友好 --></div><div class="uplabel"><center><label id="upfilebutton" for="upfile">上传头像</label></center></div></body><script>document.getElementById('upfile').onchange = function() {var maxsize = 2 * 1024 * 1024; //设置文件大小2兆var maxMsg = "上传的图片不能超过2兆";var tipMsg = "您的浏览器不支持计算上传文件大小,请上传2兆以内的文件,建议使用谷歌浏览器";var browserCfg = {};var ua = window.navigator.userAgent;if (ua.indexOf("Firefox") >= 1) {browserCfg.firefox = true;} else if (ua.indexOf("Chrome") >= 1) {browserCfg.chrome = true;}try{var obj_file = document.getElementById("upfile");if (obj_file.value == "") {alert("请先选择上传文件");return;}var filesize = 0;if (browserCfg.firefox || browserCfg.chrome) {filesize = obj_file.files[0].size;} else {alert(tipMsg);return;}if(filesize==-1){alert(tipMsg);return;}else if(filesize>maxsize){alert(maxMsg);return;}else{var imgFile = this.files[0];var fr = new FileReader();fr.onload = function() {document.getElementById('userimage').src = fr.result;};fr.readAsDataURL(imgFile);}}catch(e){alert(e);}};</script></html>

执行后结果:

上传后结果(浏览器显示上传的图片js控制):

这里关键使用了display:none使原来的<input type="file">浏览器默认的上传图片按钮不显示
然后<lable for="****">,最后图片显示就是js控制了

图片展示比较low,意思到了就行

参考博客:https://blog.csdn.net/zhoucheng05_13/article/details/53839552

最后推荐一份博客:https://www.cnblogs.com/dj3839/p/6027417.html使用springmvc异步后台处理上传的图片

这篇关于html更改上传图片样式,并显示更改后的图片,增加js验证大小,没样式搓的不忍直视的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/342412

相关文章

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

详解C++中类的大小决定因数

《详解C++中类的大小决定因数》类的大小受多个因素影响,主要包括成员变量、对齐方式、继承关系、虚函数表等,下面就来介绍一下,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 非静态数据成员示例:2. 数据对齐(Padding)示例:3. 虚函数(vtable 指针)示例:4. 继承普通继承虚继承5.

前端高级CSS用法示例详解

《前端高级CSS用法示例详解》在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将深... 前端高级css用法在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方