압축 업로드 코드 붙이기
function getphoto(type){
$('.driveCode[title="'+type +'"]').trigger("click");
}
var myArray=[];
function showPhoto(ele,type){
var files=ele.files,
file=files[0];
var typeTemp=file.type;
var reader = new FileReader();
reader.onerror=function(){
alert(" , ")
}
reader.onload=function(){
var result = this.result;
var img = new Image();
img.src = result;
if (img.complete){
getToken();
}else{
img.onload = getToken;
}
function getToken(){
var dataTemp = compress(img);
$.post(BASE_URL,{
fname:type
},function(data){
var result= JSON.parse(data);
if(result && result.result == true){
var text = window.atob(dataTemp.split(",")[1]);
var buffer = new Uint8Array(text.length);
for (var i = 0; i < text.length; i++) {
buffer[i] = text.charCodeAt(i);
}
var blob = getBlob(buffer, typeTemp);
function getBlob(buffer, format){
var Builder = window.WebKitBlobBuilder || window.MozBlobBuilder;
if(Builder){
var builder = new Builder;
builder.append(buffer);
return builder.getBlob(format);
} else {
return new window.Blob([ buffer ], {type: format});
}
}
var oMyForm = new FormData();
var key=result.key;
var uptoken=result.uptoken;
oMyForm.append("token",uptoken);
oMyForm.append("key", key);
oMyForm.append("file",blob);
var oReq = new XMLHttpRequest();
oReq.open("POST", "http://upload.qiniu.com/");
oReq.send(oMyForm);
oReq.onreadystatechange = function (){
if(oReq.readyState==4 && oReq.status==200){
var filename=JSON.parse(oReq.responseText);
var key=filename.key;
myArray.push({"key":key,"type":type});
console.log(myArray)
}
}
}else if(result && result.msg){
alert(result.msg)
}
})
}
function compress(img){
var initSize = img.src.length;
var width = img.width;
var height = img.height;
// , 400
var ratio;
if ((ratio = width * height / 1000000)>1) {
ratio = Math.sqrt(ratio);
width /= ratio;
height /= ratio;
}else{
ratio = 1;
}
var canvas=$('.myCanvas[title'+'='+'"'+type+'"'+']')[0];
var ctx=canvas.getContext('2d');
var tCanvas = $("<canvas></canvas>")[0];
var tctx = tCanvas.getContext("2d");
canvas.width = width;
canvas.height = height;
//
ctx.fillStyle = "#fff";
ctx.fillRect(0, 0, canvas.width, canvas.height);
// 100
var count;
if ((count = width * height / 1000000) > 1) {
count = (Math.sqrt(count)+1); //
//
var nw =(width / count);
var nh =(height / count);
tCanvas.width = nw;
tCanvas.height = nh;
for (var i = 0; i < count; i++) {
for (var j = 0; j < count; j++) {
tctx.drawImage(img, i * nw * ratio, j * nh * ratio, nw * ratio, nh * ratio, 0, 0, nw, nh);
ctx.drawImage(tCanvas, i * nw, j * nh, nw, nh);
}
}
}else{
ctx.drawImage(img, 0, 0, width, height);
}
//
var ndata = canvas.toDataURL("image/jpeg", 0.1);
console.log(" :" + initSize);
console.log(" :" + ndata.length);
console.log(" :" + (100 * (initSize - ndata.length) / initSize) + "%");
return ndata;
}
}
reader.readAsDataURL(file);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.