js 圖片 轉(zhuǎn)base64壓縮后上傳

展示圖
html

<div class="storeImg border20">

<div class="storeImgFont ">店鋪門頭</div>

<div class="uploadImg">

<div class="uploadInfo clear">

<div id="imgBox" class="l">

</div>

<div class="upImg l">

<input type="file" title="請選擇圖片" id="file" class="input_img" multiple="" accept="image/*" capture="camera">

<div class="posinfo">

<img class="upImgs" src="img/camera.png"/>

<span class="upfont">上傳圖片</span>

</div>

</div>

</div>

</div>

</div>


樣式


樣式


樣式

.uploadImg{

padding:.2rem 0 .2rem .28rem;

}

.upImg{

text-align: center;

width: 1.2rem;

height: 1.2rem;

border: 1px dashed #eee;

position: relative;

z-index: 0;

}

.posinfo{

width: 100%;

height: 100%;

position: absolute;

left: 0;

top: 0;

text-align: center;

z-index: 2;

}

.upImgs{

width: .36rem;

height: .34rem;

margin-top:.3rem ;

}

.upfont{

display: block;

font: .18rem/.32rem "微軟雅黑";

color: #acacac;

text-align: center;

}

#imgBox {

text-align: left;

min-width: 1.2rem;

height: 1.2rem;

display: none;

}

.imgContainer {

display: inline-block;

width: 1.2rem;

height: 1.2rem;

position: relative;

box-sizing: border-box;

margin: 0 .1rem;

}

.imgContainer:last-child{

margin-right:.2rem ;

}

.imgContainer img {

width: 1.2rem;

height: 1.2rem;

cursor: pointer;

}

.imgContainer img.close{

width: .26rem;

height: .26rem;

top: -.1rem;

right: -.1rem;

position: absolute;

z-index: 20;

}

.input_img{

width: 1.2rem;

height: 1.2rem;

? ? opacity: 0;

? ? cursor: pointer;

? ? position: absolute;

? ? top: 0;

? ? left: 0;

? ? z-index: 10;

}

//獲取圖片地址

function getObjectURL(file) {

var url = null ;

if (window.createObjectURL!=undefined) { // basic

url = window.createObjectURL(file) ;

} else if (window.URL!=undefined) { // mozilla(firefox)

url = window.URL.createObjectURL(file) ;

} else if (window.webkitURL!=undefined) { // web_kit or chrome

url = window.webkitURL.createObjectURL(file) ;

}

return url ;

}

//圖片轉(zhuǎn)成base64后壓縮

function convertImgToBase64(url, callback, outputFormat){

//創(chuàng)建canvas畫布

var canvas = document.createElement('CANVAS');

var ctx = canvas.getContext('2d');

//創(chuàng)建img對象

var img = new Image;

img.crossOrigin = 'Anonymous';

//圖片加載

img.onload = function(){

var width = img.width;

var height = img.height;

// 按比例壓縮4倍

var rate = (width<height ?? width/height :height/width)/4;

//設(shè)置畫布的width和height

canvas.width = width*rate;

canvas.height = height*rate;

//繪制圖片

ctx.drawImage(img,0,0,width,height,0,0,width*rate,height*rate);

//壓縮

var dataURL = canvas.toDataURL(outputFormat || 'image/png');

//轉(zhuǎn)指向,返回值

callback.call(this, dataURL);

//清除畫布

canvas = null;

};

img.src = url;

}

//點擊上傳圖片事件

$(".input_img").bind("change",function(e){

//獲取圖片信息

file = event.target.files[0];

// 選擇的文件是圖片

if (file.type.indexOf("image") == 0) {

var imageUrl = getObjectURL(file)

convertImgToBase64(imageUrl, function(base64Img){

$("#imgBox").show()

var s=$("#imgBox").html()

s+='' $("#imgBox").html(s)

var len=$(".imgContainer").length

if(len>=1){

$(".upImg").hide()

}else{

$(".upImg").css("display","block")

}

$(".close").click(function(){

var ind=$(this).parent().index()

$(".imgContainer").eq(ind).remove()

$("#imgBox").hide()

$(".upImg").show()

})

var datas={ "FileData":base64Img }

$.ajax({

type:"post",

//url后是后端給的地址

url:"*****",

async:true,

dataType:"json",

data:datas,

success:function(res){

if(res.filepath !=""){

$(".imgContainer").eq(0).attr("path",res.filepath)

}else{

showInfo("請重新上傳圖片")

}

}

});

})

}else{

showInfo("請上傳圖片")

}

})



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末婚被,一起剝皮案震驚了整個濱河市空厌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌僚饭,老刑警劉巖泳挥,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件琅关,死亡現(xiàn)場離奇詭異啦租,居然都是意外死亡哗伯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門篷角,熙熙樓的掌柜王于貴愁眉苦臉地迎上來焊刹,“玉大人,你說我怎么就攤上這事恳蹲“槌危” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵阱缓,是天一觀的道長。 經(jīng)常有香客問我举农,道長荆针,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任颁糟,我火速辦了婚禮航背,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棱貌。我一直安慰自己玖媚,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布婚脱。 她就那樣靜靜地躺著今魔,像睡著了一般勺像。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上错森,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天吟宦,我揣著相機與錄音,去河邊找鬼涩维。 笑死殃姓,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的瓦阐。 我是一名探鬼主播蜗侈,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼睡蟋!你這毒婦竟也來了踏幻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤薄湿,失蹤者是張志新(化名)和其女友劉穎叫倍,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體豺瘤,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡吆倦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了坐求。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚕泽。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖桥嗤,靈堂內(nèi)的尸體忽然破棺而出须妻,到底是詐尸還是另有隱情,我是刑警寧澤泛领,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布荒吏,位于F島的核電站,受9級特大地震影響渊鞋,放射性物質(zhì)發(fā)生泄漏绰更。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一锡宋、第九天 我趴在偏房一處隱蔽的房頂上張望儡湾。 院中可真熱鬧,春花似錦执俩、人聲如沸徐钠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尝丐。三九已至显拜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間摊崭,已是汗流浹背讼油。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留呢簸,地道東北人矮台。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像根时,于是被迫代替她去往敵國和親瘦赫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容