本文实例为大家分享了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('请输入内容');
}
}
};
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“javascript图片预览和上传(兼容IE)”评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2025年10月26日
2025年10月26日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]