그림 압축cavas 업로드 서버 ----------- 방법
2014 단어 문제
uplodeimg(e) {
let data = e.target.files[0];
if (data.size > 1000000) {// 1M
var this_ = this;
console.log(data.size);
let reader = new FileReader();
reader.readAsDataURL(data);
reader.onload = function(e) {
let image = new Image(); // img ( DOM )
image.src = e.target.result;
console.log(e.target.result);
image.onload = function() {
let canvas = document.createElement("canvas"),
context = canvas.getContext("2d"),
imageWidth = image.width / 2, //
imageHeight = image.height / 2,
data = "";
canvas.width = imageWidth;
canvas.height = imageHeight;
// context.clearRect(0, 0, imageWidth, imageHeight);
context.drawImage(image, 0, 0, imageWidth, imageHeight);
var dataurl = canvas.toDataURL("image/jpeg", 0.8);
var arr = dataurl.split(","),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
console.log(u8arr[n]);
var newFile = new Blob([u8arr], { type: mime });
console.log(newFile);
//
this_.get_img(newFile, name);
};
};
} else {
this.get_img(data, name);
}
},
get_img(data, name) {
var formData = new FormData();
formData.append("file", data);
this.$store.commit("show_looding");
request({
url: "/api/upload",
method: "post",
data: formData
}).then(res => {
this.$store.commit("hide_looding");
console.log(res.data.data[0]);
});
},
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
카카오 - 신고 결과 받기문제소개 입출력 예시 코드 리팩토링 정의된 변수 확인...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.