我们也都知道上传图片的样子是这样的(选择前)是这样的(选择后)

先在HTML设置图片上传

<form action="" method="">
<input type="file" id="file">
<label for="file">上传图片</label>
<img src="" alt="" id="myimg"/>
</form>

然后编辑css样式

#file{
display: none;
}
#file + label{
display: inline-block;
width: 100px;
height: 30px;
background-color: rgb(90, 152, 222);
text-align: center;
line-height: 30px;
border-radius: 5px;
}
img{
display: none;
width: 200px;
height: 200px;
}

最后设置js上传图片后的变化

var myimg = document.getElementById('myimg');
var file = document.getElementById('file');
file.onchange = function(){
var url;
var agent = navigator.userAgent; //检测浏览器版本
if (agent.indexOf("MSIE")>=1) {
url = file.value;
} else if(agent.indexOf("Firefox")>0) {
url = window.URL.createObjectURL(file.files.item(0));
} else if(agent.indexOf("Chrome")>0) {
url = window.URL.createObjectURL(file.files.item(0));
}
myimg.src = url
myimg.style.display = "block";
}

最终呈现出来的结果如下:选择前选择后

本文属于简单的小白文,只是讲述知识点,如有帮助,切勿复制,请自行修改使用

javascript实现上传图片并展示的更多相关文章

  1. JavaScript怎么上传图片

    JavaScript怎么上传图片 在XMLHttpRequest Level2出台之前,大多数的异步上传图片都是利用iframe去实现的. 至于具体的实现细节,我就不在这边啰嗦的,Google一下就有 ...

  2. Javascript 验证上传图片大小[客户端验证]

    需求分析: 在做上传图片的时候,如果不限制上传图片大小,后果非常的严重.那么我们怎样才可以解决一个棘手的问题呢?有两种方式: 1)后台处理: 也就是AJAX POST提交到后台,把图片上传到服务器上, ...

  3. javascript图片放大镜效果展示

    javascript图片放大镜效果展示 <!DOCTYPE html> <html> <head lang="en"> <meta cha ...

  4. javascript获取上传图片的大小

    javascript获取上传图片的大小 <pre><input id="file" type="file"> <input id= ...

  5. Javascript 继承 图形化展示

      <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" conte ...

  6. 【JavaScript 插件】图片展示插件 PhotoSwipe 初识

    前言: 考虑自己网站的图片展示,而且要支持移动端和PC端.自己写的代码也不尽如意,要写好的话也需要时间,于是就想到了使用相关插件. 准备: PhotoSwipe 官网地址:http://photosw ...

  7. web之前端获取上传图片并展示

    1.html中经常存在图片上传的问题,但是后续的展示基本上是通过后台输出流的方式来呈现的.但是这样耗费的资源比较多.所以这里学习了一种前端直接展示图片的方式(供参考). 2.html的编写方式比较简单 ...

  8. JavaScript实现上传图片预览[js前端实现]

    <body> <input type="file" id="file_input" onchange="show_image()&q ...

  9. javascript异步上传图片文件

    html: <form action="url" enctype="multipart/form-data" id="myform"  ...

随机推荐

  1. lf 前后端分离 (6) 支付

    支付 import datetime from django.core.exceptions import ObjectDoesNotExist from rest_framework.views i ...

  2. NOI.AC 722: tree

    就贴个代码 #include <cstdio> #include <algorithm> typedef long long LL; const int MN = 200005 ...

  3. python开发微信公众号SDK选择

    1.wechat-sdk sudo pip install wechat-sdk 文档地址:  http://ww2.wechat-python-sdk.com/ 2.wechat sudo pip ...

  4. Linux系统下root密码遗忘等系统故障的修复方法 - 运维总结

    IDC机房有一台centos系统的服务器,由于这台服务器的系统装了好长时间,且root密码中间更新过几次,后面去机房现场维护时,登陆密码遗忘了,悲催啊~没办法,只能开机进入“单用户模式”进行密码重置了 ...

  5. 团队冲刺---Four

    今天的计划: 研究css模板. 昨天做了什么: 寻找css模板,研究界面布局. 遇到的问题: css模板,代码看不太懂,好多标签都不会用.

  6. luoguP3455 [POI2007]ZAP-Queries

    题意 设\(f(n)=\sum\limits_{i=1}^{a}\sum\limits_{j=1}^{b}[gcd(i,j)==n],F(n)=\sum\limits_{n|d}f(d)\) 发现\( ...

  7. Fedora增加rc-local服务开机自启项

      最近新装了一台Fedora 30系统,服务已经正常运行起来了,但是偶然发现当我的系统重启后,写在rc.local配置文件里的命令居然没生效,导致我系统重启,但是服务却没有正常运行,后来经过一番查阅 ...

  8. Shell编程——位置参数变量

    1. (1)创建Shell脚本: (2)赋予执行权限: (3)执行Shell脚本: (4)对脚本赋值后执行脚本: $n:n为数字,$0代表命令本身,$1-9代表第一到第九个参数,十以上的参数用大括号包 ...

  9. 微信小程序特性总结

    一. 小程序不是运行在浏览器中, 所以没有BOM和DOM对象 即console.log(window)和console.log(document)是获取不到任何内容的 二. 小程序特有的额外js成员( ...

  10. C++对象布局

    <C++应用程序性能优化><深度探索C++对象模型>笔记 #include<iostream> using namespace std; class student ...