本文实例为大家分享了js图片预览和上传的具体代码,供大家参考,具体内容如下
var dailiApply = {
change: function (evt) {
evt.preventDefault();
var pic = document.getElementById("preview"),
file = document.getElementById("f");
var ext=file.value.substring(file.value.lastIndexOf(".")+1).toLowerCase();
// gif在IE浏览器暂时无法显示
if(ext!='png'&&ext!='jpg'&&ext!='jpeg'){
alert("图片的格式必须为png或者jpg或者jpeg格式!");
return;
}
var isIE = navigator.userAgent.match(/MSIE/)!= null,
isIE6 = navigator.userAgent.match(/MSIE 6.0/)!= null;
if(isIE) {
file.select();
var reallocalpath = document.selection.createRange().text;
// IE6浏览器设置img的src为本地路径可以直接显示图片
if (isIE6) {
pic.src = reallocalpath;
}else {
// 非IE6版本的IE由于安全问题直接设置img的src无法显示本地图片,但是可以通过滤镜来实现
pic.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='image',src=\"" + reallocalpath + "\")";
// 设置img的src为base64编码的透明图片 取消显示浏览器默认图片
pic.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';
}
}else {
var file_arr = file.files;
var ul = $(".weui_uploader_files");
if(file_arr.length < 7) {
for(var key in file_arr) {
if(file_arr.hasOwnProperty(key)) {
var f = file_arr[key];
var url = URL.createObjectURL(f);
var reader = new FileReader();
console.log(f);
reader.readAsDataURL(f);
n +=1;
if(n < 7) {
reader._onload = function(e) {
// 拼接显示预览图片的html
var list = $("<li class='weui_uploader_file' style='position: relative'>" +
"<img id='preview" + n + "' class=preview_li' style='width: 100%;height: 100%'>" +
"<span id='delImg" + n+ "' style='position: absolute; top: 0; right: 4px; color: #e4007f'>X</span></li>");
ul.append(list);
// 将转化后的图片地址放在img中
var pic = document.getElementById('preview' + n);
//pic.src = this.result;
pic.src=url;
dailiApply.compress(f, .7,undefined);
//images.push(f);
document.getElementById('delImg' + n).addEventListener("click", function () {
$(this).parent().remove();
--n;
});
};
reader._onload();
}else {
$.alert("最多上传6张图片");
n = 6;
}
}
}
}else {
$.alert("最多上传6张图片");
}
}
return false;
},
/**
* @param {Object} f input选择的图片 必填
* @param {String} quality 图片压缩的质量[0, 1]
* @param {String} output_img_type 输出图片的类型
*/
compress: function (f, quality, output_img_type) {
var mime_type = "image/jpeg";
if(output_img_type!=undefined && output_img_type=="image/png"){
mime_type = "image/png";
}
createImageBitmap(f).then(function(imageBitmap) {
var max = 1000; // 设置最大分辨率
var c_w = '';
var c_h = '';
var width = imageBitmap.width;
var height = imageBitmap.height;
// 等比例缩放
if (width > max || height > max) {
if (width > height) {
c_w = max;
c_h = max * height / width;
} else {
c_h = max;
c_w = max * width / height;
}
}else { // 不缩放
c_w = width;
c_h = height;
}
var canvas = document.createElement('canvas');
canvas.width = c_w;
canvas.height = c_h;
var ctx = canvas.getContext('2d');
ctx.drawImage(imageBitmap,0,0, width, height, 0, 0, c_w, c_h);
canvas.toBlob(function(blob){
images.push(blob);
},mime_type, quality);
});
},
submit: function () {
var content = $(".weui_textarea").val().trim();
var xhr = new XMLHttpRequest();
var fd = new FormData(document.getElementById('uploadForm'));
$.each(images,function(i,e){
fd.append("images", e);
});
fd.append("remark", content);
fd.append("substationproxyId", 8);
console.log(images);
console.log(fd);
if(content) {
$.ajax({
url: CONFIG.API.addSubProxyRecruit,
type: "POST",
data: fd,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
beforeSend: function (xhr) {
$.showLoading();
$(this).prop("disabled", true)
},
success: function (json) {
console.log(json);
$.hideLoading();
$(this).prop("disabled", false);
if(json.errorCode == 0) {
$.alert("保存成功", function () {
location.reload();
})
}else if(json.errorCode == "-101") {
$.alert('出错:' +json.message, function () {
location.href = CONFIG.HTML.login;
});
}else {
$.alert(json.message, function () {
})
}
}
});
}else {
$.alert('请输入内容');
}
}
};
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js图片预览
# js图片上传
# js图片预览和上传
# JS使用H5实现图片预览功能
# 简单实现JS上传图片预览功能
# angularjs点击图片放大实现上传图片预览
# JS HTML5拖拽上传图片预览
# js实现纯前端的图片预览
# 轻松实现js图片预览功能
# javascript实现input file上传图片预览效果
# js实现上传图片预览的方法
# 上传图片预览JS脚本 Input file图片预览的实现示例
# viewer.js实现图片预览功能
# 最多
# 上传
# 滤镜
# 放在
# 可以通过
# 请输入
# 可以直接
# 大家分享
# 来实现
# 必填
# 具体内容
# 大家多多
# 浏览器设置
# 等比例
# DXImageTransform
# style
# filter
# progid
# Microsoft
# image
相关文章:
建站之星各版本价格是多少?
如何在阿里云虚拟服务器快速搭建网站?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
如何用狗爹虚拟主机快速搭建网站?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
股票网站制作软件,网上股票怎么开户?
如何通过远程VPS快速搭建个人网站?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
如何用腾讯建站主机快速创建免费网站?
如何选择高效可靠的多用户建站源码资源?
如何通过万网虚拟主机快速搭建网站?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
如何用低价快速搭建高质量网站?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
表情包在线制作网站免费,表情包怎么弄?
利用JavaScript实现拖拽改变元素大小
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
建站之星导航如何优化提升用户体验?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
建站之星会员如何解锁更多建站功能?
如何用PHP快速搭建高效网站?分步指南
免费ppt制作网站,有没有值得推荐的免费PPT网站?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
Android滚轮选择时间控件使用详解
如何通过服务器快速搭建网站?完整步骤解析
建站之星代理平台如何选择最佳方案?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
如何在宝塔面板中修改默认建站目录?
在线制作视频网站免费,都有哪些好的动漫网站?
python的本地网站制作,如何创建本地站点?
建站VPS能否同时实现高效与安全翻墙?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
公司网站制作价格怎么算,公司办个官网需要多少钱?
自助网站制作软件,个人如何自助建网站?
详解jQuery停止动画——stop()方法的使用
黑客如何通过漏洞一步步攻陷网站服务器?
建站之星如何一键生成手机站?
建站之星代理费用多少?最新价格详情介绍
建站VPS配置与SEO优化指南:关键词排名提升策略
nginx修改上传文件大小限制的方法
高端智能建站公司优选:品牌定制与SEO优化一站式服务
广东专业制作网站有哪些,广东省能源集团有限公司官网?
宝塔建站助手安装配置与建站模板使用全流程解析
魔方云NAT建站如何实现端口转发?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
如何在橙子建站中快速调整背景颜色?
如何通过VPS建站实现广告与增值服务盈利?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
*请认真填写需求信息,我们会在24小时内与您取得联系。