UEditor 사용자 정의 이미지 영상 사이즈 검사 기능 구현 코드
UEditor 는 단일 그림,다 중 그림 및 비디오 업 로드 를 지원 합 니 다.편집기 설정 항목 은 파일 형식,파일 크기 검 사 를 지원 합 니 다.파일 너비 와 높 은 크기 검 사 는 지원 되 지 않 습 니 다.사용자 정의 그림,비디오 사이즈 검사 과정 을 기록 합 니 다.내용 의 핵심 은 검사 논 리 를 확장 하고 사용자 정의 알림 텍스트 를 추가 하 는 것 입 니 다.
단일 이미지 업로드
단일 그림 업로드 의 논 리 는
ueditor.all.js
에서simpleUpload
구성 요소 로 이 루어 지고 그 내 부 는 감청file
입력 상자 의 변 화 를 통 해 파일 검사 와 업 로드 를 한다.아래 그림
initUploadBtn
은 간단 한 업로드 단 추 를 초기 화 하 는 방법 이자 관련 검 사 를 하 는 곳 입 니 다.initUploadBtn
기본 검사 코드 는 다음 과 같 습 니 다.
var form = btnIframeDoc.getElementById('edui_form_' + timestrap);
var input = btnIframeDoc.getElementById('edui_input_' + timestrap);
var iframe = btnIframeDoc.getElementById('edui_iframe_' + timestrap);
domUtils.on(input, 'change', function(){
if(!input.value) return;
//
/* */
if (!me.getOpt('imageActionName')) {
errorHandler(me.getLang('autoupload.errorLoadConfig'));
return;
}
//
var filename = input.value,
fileext = filename ? filename.substr(filename.lastIndexOf('.')):'';
if (!fileext || (allowFiles && (allowFiles.join('') + '.').indexOf(fileext.toLowerCase() + '.') == -1)) {
showErrorLoader(me.getLang('simpleupload.exceedTypeError'));
return;
}
// ,
domUtils.on(iframe, 'load', callback);
form.action = utils.formatUrl(imageActionUrl + (imageActionUrl.indexOf('?') == -1 ? '?' : '&') + params);
form.submit();
});
판단 논리 가 여러 군데 있 는 것 을 볼 수 있 고 모두 통과 한 후에 야 양식 을 제출 하여 파일 을 업로드 할 수 있다.이미지 영상의 사이즈 검사 에 대해 서도 여기에 추가 할 수 있 습 니 다.통과 한 후에 제출 합 니 다.다음은 수 정 된 코드 입 니 다.
var form = btnIframeDoc.getElementById('edui_form_' + timestrap);
var input = btnIframeDoc.getElementById('edui_input_' + timestrap);
var iframe = btnIframeDoc.getElementById('edui_iframe_' + timestrap);
domUtils.on(input, 'change', function(){
if(!input.value) return;
//
/* */
if (!me.getOpt('imageActionName')) {
errorHandler(me.getLang('autoupload.errorLoadConfig'));
return;
}
//
var filename = input.value,
fileext = filename ? filename.substr(filename.lastIndexOf('.')):'';
if (!fileext || (allowFiles && (allowFiles.join('') + '.').indexOf(fileext.toLowerCase() + '.') == -1)) {
showErrorLoader(me.getLang('simpleupload.exceedTypeError'));
return;
}
//
var files = this.files;
var reader = new FileReader();
reader.readAsDataURL(input.files[0]);
reader.onload = function (theFile) {
var image = new Image();
image.src = theFile.target.result;
image.onload = function () {
if (this.width < 1080) {
showErrorLoader(' 1080');
return;
}
// ,
domUtils.on(iframe, 'load', callback);
form.action = utils.formatUrl(imageActionUrl + (imageActionUrl.indexOf('?') == -1 ? '?' : '&') + params);
form.submit();
};
};
});
코드 의 검사 매개 변 수 는 1080 이 고 텍스트 규범 을 제시 하 는 방법 은 설정 파일 에 추 가 됩 니 다.여 기 는 프레젠테이션 만 합 니 다.새로 추 가 된 사이즈 검 사 는
FileReader
로 업 로드 된 파일 을 읽 고 너비 가 높 아 관련 사이즈 나 비례 판단 을 실현 할 수 있 습 니 다.검사 효 과 는 다음 과 같 습 니 다.다 중 업로드
다 중 사진 업 로드 는 주로 세 개의 파일
image.html
,webupload.js
과image.js
과 관련된다.webupload.js
파일 의 전체 크기 가 초과 되 었 는 지,단일 파일 이 초과 되 었 는 지,파일 이 중복 되 었 는 지 등 여러 가지 검증 을 포함 합 니 다.여기 서도 사용자 정의 검증 을 추가 할 수 있 습 니 다.Uploader
초기 화 할 때 함께 불 러 옵 니 다.사용자 정의 그림 크기 검사 방법 은 다음 과 같 습 니 다.
/**
* @property {int} [fileSingleWidth=undefined]
* @namespace options
* @for Uploader
* @description , 。
*/
//======================
api.addValidator('fileSingleWidth', function () {
var uploader = this,
opts = uploader.options,
minWidth = 1080;
uploader.on('beforeFileQueued', function (file) {
let that = this;
let type = file.type;
window.URL = window.URL || window.webkitURL;
var reader = new FileReader();
reader.readAsDataURL(file.source.source);
reader.onload = function (theFile) {
var image = new Image();
image.src = theFile.target.result;
image.onload = function () {
if (this.width < minWidth) {
file.setStatus(WUFile.Status.INVALID, 'exceed_width');
that.trigger('error', 'F_EXCEED_SIZE', file);
that.removeFile(file);
return false;
}
};
}
});
});
논 리 를 검증 한 후image.js
의addFile
방법 에 제시 텍스트 를 추가 해 야 합 니 다.검사 효과:
비디오 업로드
동 영상 업로드 역시 세 개의 파일
video.html
,webupload.js
과video.js
을 포함 하고 처리 논 리 는 다 중 그림 업로드 와 같다.우 리 는 위 에서 그림 의 폭 을 검사 하 는 토대 에서 영상 해상도 가 720 보다 작 는 지 확인 할 수 있 습 니 다.코드 는 다음 과 같 습 니 다.
/**
* @property {int} [fileSingleWidth=undefined]
* @namespace options
* @for Uploader
* @description , 。
*/
//======================
api.addValidator('fileSingleWidth', function () {
var uploader = this,
opts = uploader.options,
minWidth = 1080;
uploader.on('beforeFileQueued', function (file) {
let that = this;
let type = file.type;
window.URL = window.URL || window.webkitURL;
//
if (type.indexOf('video') > -1) {
var video = document.createElement('video');
video.preload = 'metadata';
video.src = URL.createObjectURL(file.source.source);
video.onloadedmetadata = () => {
URL.revokeObjectURL(video.src);
if (video.videoHeight < 720) {
file.setStatus(WUFile.Status.INVALID, 'exceed_height');
that.trigger('error', 'F_EXCEED_SIZE', file);
that.removeFile(file);
return false;
}
}
}else{
//
var reader = new FileReader();
reader.readAsDataURL(file.source.source);
reader.onload = function (theFile) {
var image = new Image();
image.src = theFile.target.result;
image.onload = function () {
if (this.width < minWidth) {
file.setStatus(WUFile.Status.INVALID, 'exceed_width');
that.trigger('error', 'F_EXCEED_SIZE', file);
that.removeFile(file);
return false;
}
};
}
}
});
});
vedio.js
의addFile
방법 에 검사 텍스트 추가검사 효과:
UEditor 사용자 정의 이미지 동 영상 사이즈 검사 기능 의 구현 코드 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 UEditor 사용자 정의 이미지 동 영상 콘 텐 츠 는 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
UEditor 기본 글꼴 및 글꼴 수정 방법UEditor 루트 디렉토리의 ueditor를 직접 엽니다.all.js 파일, "기본 글꼴과 글꼴 설정"을 찾고 기본 글꼴과 글꼴을 수정합니다. 옵션 안의 글꼴이 당신이 원하는 것이 없으면 루트 디렉터리 uedito...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.