javascript 图片上传-js实现图片上传和预览功能

2023-08-26 0 4,709 百度已收录

本文分享js上传和预览图片的具体代码,供大家参考。 具体内容如下

思路:要完成这个功能,首先需要美化一下上传图片的按钮,然后添加一个

tag,图片上传后,用新图片的src替换原来的

标签中的 src。

如下图,是原来的按钮样式:

美化步骤:

(1) 绝对定位将用于使其位于图片、按钮、div 等标签上。 或者为图片、按钮或 div 设置绝对定位。 总之javascript 图片上传,需要让上传文件的按钮与用户指定的按钮重合。

(2)设置大尺寸,使其与重叠的图片、按钮、div等标签大小相同。

(3)我把这个标签设置为透明:opacity: 0;

如下图,有两个美化的上传图片按钮:

接下来就是完成图片预览的功能了javascript 图片上传,步骤:

(1) 首先需要定义一个

, src 为空或者是默认图像,

(2)如果src为空,则设置定义的img为透明:opacity: 0; 如果不透明就会有标志,不美观。

(3) 点击上传图片后,获取上传图片的src,并将其参数交给预定义的

,然后给

设置不透明度:1;

下面是具体的代码示例。

示例1:上传图片到点击的位置。 (本例中使用了AUI框架,但不影响此功能。)

HTML 代码:

<pre class="brush:xhtml;">


点击上传

CSS代码:

<pre class="brush:css;">
#imgPreview {
width: 40%;
height: 180px;
margin: 10px auto 0px auto;
border: 1px solid black;
text-align: center;
}
#prompt3 {
width: 100%;
height: 180px;
text-align: center;
position: relative;
}
#imgSpan {
position: absolute;
top: 60px;
left: 40px;
}
.filepath {
width: 100%;
height: 100%;
opacity: 0;
}
#img3 {
height: 100%;
width: 100%;
display: none;
}

JS代码:

<pre class="brush:js;">
function changepic() {
$("#prompt3").css("display","none");
var reads = new FileReader();
f = document.getElementById('file').files[0];
reads.readAsDataURL(f);
reads.onload = function(e) {
document.getElementById('img3').src = this.result;
$("#img3").css("display","block");
};
}

结果如下图:

例2:将图片上传到与点击按钮相对的位置。 (本例中使用的是阿里巴巴矢量图标库,但不影响此功能。)

HTML 代码:

<pre class="brush:xhtml;">

CSS代码:

<pre class="brush:css;">
#img {
float: left;
margin-left: 20px;
width: 150px;
height: 60px;
}
#upImg {
position: absolute;
top: 0px;
left: 0px;
}
#upImg input {
width: 70px;
height: 60px;
opacity: 0;
}
#imgPreview {
width: 80px;
height: 60px;
position: absolute;
left: 70px;
top: 0px;
}
#cropedBigImg{
width: 100%;
height: 100%;
display: none;
}

JS代码:

<pre class="brush:js;">
$('#chooseImage').on('change',function() {//当chooseImage的值改变时,执行此函数
var filePath = $(this).val(),//获取到input的value,里面是文件的路径
fileFormat = filePath.substring(filePath.lastIndexOf(".")).toLowerCase(),src = window.URL.createObjectURL(this.files[0]); //转成可以在本地预览的格式

// 检查是否是图片
if(!fileFormat.match(/.png|.jpg|.jpeg/)) {
error_prompt_alert('上传错误,文件格式必须为:png/jpg/jpeg');
return;
}else{
$('#cropedBigImg').css('display','block');
$('#cropedBigImg').attr('src',src);
}
});

结果如下图:

我是一名JS实习生。 我不断学习,不断进步。 欢迎专家批评指教。

以上就是本文的全部内容。 希望对您的学习有所帮助,也希望您支持编程之家。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript 图片上传-js实现图片上传和预览功能 https://www.wkzy.net/game/165402.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务