js上传图片预览的实现方法
发布时间 - 2026-01-11 01:03:00 点击率:次本文实例为大家分享了js上传图片预览的方法,供大家参考,具体内容如下
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>图片上传本地预览</title>
<style type="text/css">
#preview{width:260px;height:190px;border:1px solid #000;overflow:hidden;}
#imghead {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);}
</style>
<script type="text/javascript">
//图片上传预览 IE是用了滤镜。
function previewImage(file)
{
var MAXWIDTH = 260;
var MAXHEIGHT = 180;
var div = document.getElementById('preview');
if (file.files && file.files[0])
{
div.innerHTML ='<img id=imghead>';
var img = document.getElementById('imghead');
img.onload = function(){
var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
img.width = rect.width;
img.height = rect.height;
// img.style.marginLeft = rect.left+'px';
img.style.marginTop = rect.top+'px';
}
var reader = new FileReader();
reader.onload = function(evt){img.src = evt.target.result;}
reader.readAsDataURL(file.files[0]);
}
else //兼容IE
{
var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';
file.select();
var src = document.selection.createRange().text;
div.innerHTML = '<img id=imghead>';
var img = document.getElementById('imghead');
img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;
var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);
div.innerHTML = "<div id=divhead style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+"\"'></div>";
}
}
function clacImgZoomParam( maxWidth, maxHeight, width, height ){
var param = {top:0, left:0, width:width, height:height};
if( width>maxWidth || height>maxHeight )
{
rateWidth = width / maxWidth;
rateHeight = height / maxHeight;
if( rateWidth > rateHeight )
{
param.width = maxWidth;
param.height = Math.round(height / rateWidth);
}else
{
param.width = Math.round(width / rateHeight);
param.height = maxHeight;
}
}
param.left = Math.round((maxWidth - param.width) / 2);
param.top = Math.round((maxHeight - param.height) / 2);
return param;
}
</script>
</head>
<body>
<div id="preview">
<img id="imghead" width=100 height=100 border=0 src='<%=request.getContextPath()%>/images/defaul.jpg'>
</div>
<input type="file" onchange="previewImage(this)" />
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js上传图片预览方法
# js上传图片预览
# js图片预览
# javascript HTML5文件上传FileReader API
# 借助FileReader实现将文件编码为Base64后通过AJAX上传
# 谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
# File
# FileReader 和 Ajax 文件上传实例分析(php)
# node.js读取文件到字符串的方法
# node.js实现逐行读取文件内容的代码
# PHP 读取文件内容代码(txt
# js等)
# JSP读取文件实例
# JavaScript使用readAsDataUrl方法预览图片
# JavaScript通过filereader接口读取文件
# 滤镜
# 图片上传
# 用了
# 大家分享
# 上传图片
# 具体内容
# 大家多多
# solid
# border
# hidden
# overflow
# width
# preview
# css
# height
# px
# imghead
# javascript
# script
# image
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
java获取注册ip实例
Android滚轮选择时间控件使用详解
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
Laravel如何实现事件和监听器?(Event & Listener实战)
zabbix利用python脚本发送报警邮件的方法
手机软键盘弹出时影响布局的解决方法
零基础网站服务器架设实战:轻量应用与域名解析配置指南
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
如何有效防御Web建站篡改攻击?
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】
高端建站三要素:定制模板、企业官网与响应式设计优化
北京企业网站设计制作公司,北京铁路集团官方网站?
制作企业网站建设方案,怎样建设一个公司网站?
Android利用动画实现背景逐渐变暗
Laravel怎么在Controller之外的地方验证数据
深圳网站制作的公司有哪些,dido官方网站?
java中使用zxing批量生成二维码立牌
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
Linux系统命令中tree命令详解
如何在 Pandas 中基于一列条件计算另一列的分组均值
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
PythonWeb开发入门教程_Flask快速构建Web应用
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
如何在阿里云虚拟服务器快速搭建网站?
详解jQuery停止动画——stop()方法的使用
个人摄影网站制作流程,摄影爱好者都去什么网站?
phpredis提高消息队列的实时性方法(推荐)
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
如何用花生壳三步快速搭建专属网站?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
黑客如何通过漏洞一步步攻陷网站服务器?
iOS中将个别页面强制横屏其他页面竖屏
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
iOS发送验证码倒计时应用
JavaScript实现Fly Bird小游戏
Laravel如何使用模型观察者?(Observer代码示例)
android nfc常用标签读取总结
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
微信小程序 input输入框控件详解及实例(多种示例)
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析

