一、前言                                

图片上传是一个普通不过的功能,而图片预览就是就是上传功能中必不可少的子功能了。在这之前,我曾经通过订阅input[type=file]元素的onchange事件,一旦更改路径则将图片上传至服务器,接着就获取图片路径并赋值到img元素上。先不管文件异步提交的解决方案,就是服务端清理那些临时的预览图片已经增加不少工作量了。

二、关键代码                                
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<script type="text/javascript"> 
/** 
* 从 file 域获取 本地图片 url 
*/ 
function getFileUrl(sourceId) { 
var url; 
if (navigator.userAgent.indexOf("MSIE")>=1) { // IE 
url = document.getElementById(sourceId).value; 
} else if(navigator.userAgent.indexOf("Firefox")>0) { // Firefox 
url = window.URL.createObjectURL(document.getElementById(sourceId).files.item(0)); 
} else if(navigator.userAgent.indexOf("Chrome")>0) { // Chrome 
url = window.URL.createObjectURL(document.getElementById(sourceId).files.item(0)); 

return url; 
}

/** 
* 将本地图片 显示到浏览器上 
*/ 
function preImg(sourceId, targetId) { 
var url = getFileUrl(sourceId); 
var imgPre = document.getElementById(targetId); 
imgPre.src = url; 

</script> 
</head> 
<body> 
<form action=""> 
<input type="file" name="imgOne" id="imgOne" οnchange="preImg(this.id,'imgPre');" /> 
<img id="imgPre" src="" width="300px" height="300px" style="display: block;" /> 
</form> 
</body> 
</html>

js实现图片在浏览器进行预览相关推荐

  1. vue 图片裁剪工具_使用Vue.js的图片裁剪工具,包括预览

    vue 图片裁剪工具 Vue作物 (vue-crop) Images Crop tool with Vue.js including preview. 使用Vue.js的图片裁剪工具,包括预览. Vi ...

  2. js实现图片上传本地预览

    演示地址:https://xibushijie.github.io/static/uploadImg.html <!DOCTYPE> <html><head>< ...

  3. js html怎么加入图片,js实现图片上传并预览功能

    思路:完成这个功能,首先需要美化上传图片的按钮,然后添加一个 标签,在图片上传之后,用新图片的src替换原来 标签中的src. 如下图所示,是原始的按钮样式: 美化步骤: (1)将上传图片标签采用绝对 ...

  4. 基于asp.net + easyui框架,js实现上传图片之前判断图片格式,同时实现预览,兼容各种浏览器+下载...

    2019独角兽企业重金招聘Python工程师标准>>> 最近在做图片上传的一个前台页面,上传图片功能虽然很简单,但是需要我们学习的地方很多.在上传图片之前验证图片的格式,并同时实现预 ...

  5. JS兼容各个浏览器的本地图片上传即时预览效果

    JS兼容各个浏览器的本地图片上传即时预览效果 很早以前 在工作曾经碰到这么一个需求,当时也是纠结了很久,也是google了很久,没有碰到合适的demo,今天特意研究了下这方面的的问题,所以也就做了个简 ...

  6. 浏览器中预览文件(pdf、图片文件)

    本文讲解在浏览器中预览PEF文件或图片文件,思路如下: 使用window.fetch请求文件资源,生成blob对象,创建此blob对象的url,之后在浏览器中显示预览,下面是具体实现代码: 1.单击& ...

  7. html之file标签 --- 图片上传前预览 -- FileReader

    记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...

  8. alert()的功能_前端实现简单的图片上传小图预览功能

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  9. php+jquery实现图片上传预览_和拖动位置值,PHP教程:thinkphp jquery实现图片上传和预览效果...

    <PHP教程:thinkphp jquery实现图片上传和预览效果>要点: 本文介绍了PHP教程:thinkphp jquery实现图片上传和预览效果,希望对您有用.如果有疑问,可以联系我 ...

最新文章

  1. R语言笔记7:认识循环函数、lapply和sapply
  2. 一款基于jquery ui的动画提交表单
  3. docker linux 快速开窗口_Linux快速搭建Docker-阿里云开发者社区
  4. OpenTSDB介绍——基于Hbase的分布式的,可伸缩的时间序列数据库,而Hbase本质是列存储...
  5. 性能测试中批量数据制作实例的多种方法讨论
  6. JavaScript实现k-nearest算法(附完整源码)
  7. 一文看懂家庭宽带光纤是如何入户
  8. 分库分表下极致的优化
  9. 谷歌大脑推出视觉领域任务自适应基准:VTAB
  10. ccf小明放学20分_关于完全平方数的好题(20年3月1日)
  11. 高通平台framework,hal,kernel打开log
  12. 这两种方法能使PDF不能被复制和修改
  13. WinForm分页控件
  14. 客户体验管理 + ServiceNow:提供客户服务和体验的新标准
  15. 阿里ET大脑如何帮助养猪产业提升PSY从20到32?
  16. 对于操作系统32位amp;64位寻址地址的理解
  17. 【python学习】如何将所绘制的图(单张多张)保存到文件夹,并用绘制实时时间命名图片
  18. Promise.all()、Promise.allSettled()、Promise.any()、Promise.race()用法与区别
  19. version script
  20. PHP转shtml,phpcms教程之shtml的设置方法

热门文章

  1. 如何将TXT转换为PDF格式?两种简便方法分享!
  2. 断开服务器后jenkins也跟着关闭(已解决)
  3. 【Gensim + TSNE使用】word2vec词向量处理中文小说 (词嵌入、高维数据降维)
  4. 安全专家:真实的网络***取证纪实
  5. STOMP 客户端开发
  6. linux在文件中添加多行,关于linux:如何在文件中搜索多行模式?
  7. 业务流程管理的未来趋势:个性化定制
  8. ChatGPT是风口吗?爆火后的质疑猝不及防
  9. cftshow 七夕杯 web部分WP
  10. 虚拟主机。负载均衡,DNS,DNS劫持,CDN,MAC地址