브라우저 이미지 선택, 미리보기, 회전 및 일괄 업로드_javascript 기술을 위한 JS 코드 구현
직장에서 접한 비즈니스 시나리오를 주로 IE 버전과의 호환성을 위해 동료들과 함께 연구했습니다
실제로 인터넷에서 소소한 지식 포인트와 해결방법을 모아서 정리한 내용은 다음과 같습니다.
1. IE 입력 유형=파일 이미지 미리보기에는 IE의 필터 CSS가 필요합니다
progid:DXImageTransform.Microsoft.AlphaImageLoader
Chrome/firefox는 File api의 파일 리더를 사용합니다
2. 이미지 회전을 위해 IE는 progid:DXImageTransform.Microsoft.Matrix 필터를 사용합니다(필터는 공백으로 결합 및 구분 가능)
크롬/파이어폭스에는 캔버스를 사용하세요
3. 이미지를 업로드하려면 보이지 않는 iframe의 양식을 사용하여 입력[유형=파일]을 동적으로 추가합니다. Chrome/firefox는 xhr을 사용할 수 있지만 수정하기에는 너무 게으르다
4. 이 페이지를 새로 고치지 않고 이미지를 업로드하고 파일을 반복적으로 선택할 수 있도록 iframe을 사용하여 입력[유형=파일] 목록을 유지하는데 이는 매우 영리합니다.
아래 코드를 참고하시면 됩니다. 주로 메인 html이고 그 다음에는 2개의 iframe html입니다. 업로드된 서버에서 반환되는 데이터는 성공적으로 업로드된 파일의 파일명으로, 미리보기 이미지를 삭제하는 데 사용됩니다.
// 上传回调
// resultList -> ['file1', 'file2'] 为上传成功的file name
var uploadCallback = function(resultList){
console.log(JSON.stringify(resultList));
var i = 0;
for(; i < resultList.length; i++){
var index = resultList[i].substr('file'.length);
$(':checkbox[value=' + index + ']').parent().parent().remove();
}
};
$(function(){
// 保存图片旋转的角度,以便提交给服务端处理
var rotateAng = {};
// 用于命名后缀的序号
var cc = 0;
// 如果是chrome/ff,需要用file api去生成img
var genImgTpl = function(input, index){
return '';
};
var readImgFromInput = function(_input, index){
var inputDom = _input[0];
// chrome/ff
if(inputDom['files']){
var reader = new FileReader();
reader.onload = function(e){
$('img.main:last').attr({src : e.target.result});
}
reader.readAsDataURL(inputDom['files'][0]);
}else{
var src = _input[0].value;
var imgDom = $('#img' + index);
imgDom.attr('src-old', src);
imgDom.css({
float: 'left',
position: 'relative',
overflow: 'hidden',
width: '195px',
height: '195px'
});
imgDom.css({'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=\"" + src + "\")"});
}
};
var showImg = function(_input){
var index = ++cc;
_input.addClass('hide');
_input.attr('name', 'file' + index);
_input.attr('data-index', index);
var iframeWin = $('#choose')[0].contentWindow;
iframeWin.addInput(_input);
var tpl = '
'' +
'

'
$('#imgDiv').append(tpl);
readImgFromInput(_input, index);
};
var addAnother = function(){
$('#uploadBtn').before('');
};
// input[type=file]的绑定事件
$('#uploadDiv input').live('change', function(){
var path = this.value;
if(!path){
return;
}
showImg($(this));
addAnother();
});
// 可以在checkbox时候remove input
// $('#imgDiv input:checkbox').live('change', function(){
// var isChecked = $(this).is(':checked');
// console.log(isChecked);
// });
$('#imgDiv span.turn-right').live('click', function(){
// 上次旋转的角度
var index = $(this).siblings('span.choose').find('input').val();
var oldAng = rotateAng[index] || 0;
var newAng = oldAng + 90;
rotateAng[index] = newAng;
$('#img' + index).rotate(90);
});
// 表单提交时候根据checkbox,删除未choose的input[type=file]
$('#uploadBtn').click(function(){
var choosedNum = $('#imgDiv input:checkbox').filter(':checked').length;
if(!choosedNum){
alert('请选择上传文件!');
return false;
}
// 选中的序号数组
var choosedIndexList = $('#imgDiv input:checkbox').filter(':checked').map(function(){
return this.value;
}).get();
var chooseIframe = $('#choose')[0].contentWindow. ;
var i = 0;
var index = selectedIndexList[i];
var inputFile = chooseIframe.$('#uploadDiv 입력' ).filter('[data-index=' index ']');
uploadIframe.$('#uploadForm').append(inputFile);
var tplInput = ''; }
uploadIframe.doUpload();
false 반환;
});

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











uni-app에서 이미지 미리보기 기능 구현 방법 소개: 모바일 애플리케이션 개발에서 이미지 미리보기는 일반적으로 사용되는 기능입니다. uni-app에서는 uni-ui 플러그인이나 커스텀 컴포넌트를 이용하여 이미지 미리보기 기능을 구현할 수 있습니다. 이번 글에서는 유니앱에서 이미지 미리보기 기능을 구현하는 방법을 코드 예시와 함께 소개하겠습니다. 1. uni-ui 플러그인을 사용하여 이미지 미리보기 기능을 구현합니다. uni-ui는 DCloud에서 개발한 Vue.js 기반 컴포넌트 라이브러리로, 풍부한 UI 그룹을 제공합니다.

Vue 구성 요소에서 이미지 미리 보기 및 확대/축소 문제를 처리하려면 특정 코드 예제가 필요합니다. 소개: 최신 웹 애플리케이션에서는 이미지 미리 보기 및 확대/축소가 매우 일반적인 요구 사항입니다. 널리 사용되는 프런트엔드 프레임워크인 Vue는 이러한 문제를 처리할 수 있는 많은 강력한 도구를 제공합니다. 이 문서에서는 Vue 구성 요소에서 이미지 미리 보기 및 확대/축소를 처리하는 방법을 소개하고 특정 코드 예제를 제공합니다. 1. 이미지 미리보기: 이미지 미리보기는 사용자가 이미지를 클릭하거나 마우스를 올리면 이미지의 큰 버전을 표시하거나 특정 영역에서 확대할 수 있음을 의미합니다.

uniapp을 사용하여 이미지 회전 기능을 구현합니다. 모바일 애플리케이션 개발에서 사진을 촬영한 후 각도를 조정해야 하거나 촬영 후 카메라가 회전하는 것과 유사한 효과가 필요한 경우가 종종 있습니다. 사진이 달성됩니다. 이 글에서는 uniapp 프레임워크를 사용하여 이미지 회전 기능을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. uniapp은 Vue.js를 기반으로 하는 크로스 플랫폼 개발 프레임워크로, iOS, Android, H5 및 기타 플랫폼용 애플리케이션을 동시에 개발하고 게시할 수 있습니다. 유니앱에서 구현

JavaScript를 사용하여 이미지 회전 효과를 얻는 방법은 무엇입니까? 웹 개발에서는 제품의 360° 회전 이미지 표시, 이미지 캐러셀 효과 달성 등과 같이 이미지 회전 효과를 달성해야 하는 시나리오를 자주 접하게 됩니다. JavaScript는 이러한 이미지 회전 효과를 쉽게 얻을 수 있는 강력한 스크립트 언어입니다. 다음은 JavaScript를 기반으로 이미지 회전 효과를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저 간단한 HTML 구조를 만듭니다.

WeChat 미니 프로그램에서 이미지 회전 효과를 구현하려면 구체적인 코드 예제가 필요합니다. WeChat 미니 프로그램은 사용자에게 풍부한 기능과 좋은 사용자 경험을 제공하는 경량 애플리케이션입니다. 미니 프로그램에서 개발자는 다양한 구성 요소와 API를 사용하여 다양한 효과를 얻을 수 있습니다. 그 중 그림 회전 효과는 미니프로그램에 흥미와 시각 효과를 더할 수 있는 일반적인 애니메이션 효과이다. WeChat 미니 프로그램에서 이미지 회전 효과를 얻으려면 미니 프로그램에서 제공하는 애니메이션 API를 사용해야 합니다. 다음은 방법을 보여주는 특정 코드 예제입니다.

PHP 및 GD 라이브러리를 사용하여 이미지 회전을 구현하는 방법 이미지 회전은 일반적인 이미지 처리 요구 사항입니다. 이미지를 회전하면 몇 가지 특수 효과를 얻거나 사용자 요구를 충족할 수 있습니다. PHP에서는 GD 라이브러리를 사용하여 이미지 회전 기능을 구현할 수 있습니다. 이 기사에서는 코드 예제와 함께 PHP 및 GD 라이브러리를 사용하여 이미지 회전을 구현하는 방법을 소개합니다. 먼저, PHP 환경에 GD 라이브러리 확장이 설치되어 있는지 확인하세요. 명령줄에 php-m을 입력하여 gd 모듈이 있는지 확인하세요. 그렇지 않은 경우 먼저 설치해야 합니다. 여기에 간단한

uniapp에서 이미지 탐색 및 이미지 미리보기 기능을 구현하는 방법은 무엇입니까? uniapp에서는 uni-ui 컴포넌트 라이브러리를 사용하여 이미지 탐색 및 이미지 미리보기 기능을 구현할 수 있습니다. uni-ui는 DCloud에서 개발한 Vue.js 기반의 구성 요소 라이브러리로, 이미지 탐색 및 이미지 미리 보기 구성 요소를 포함하여 풍부한 UI 구성 요소 세트를 제공합니다. 먼저 프로젝트에 uni-ui 컴포넌트 라이브러리를 도입해야 합니다. 프로젝트의 Pages.json 파일을 열고 "easycom" 필드에 "un"을 추가하세요.

Vue는 단일 페이지 애플리케이션(SPA)을 구축하는 데 널리 사용되는 JavaScript 프레임워크입니다. 이미지 미리보기는 웹 애플리케이션의 일반적인 기능이며 Vue에서 이미지 미리보기를 구현하는 방법은 다양합니다. 이 기사에서는 Vue에서 이미지 미리보기 기능을 구현하는 기술과 모범 사례를 자세히 소개합니다. 1. Vue 플러그인 사용 Vue 플러그인은 이미지 미리보기를 구현하는 간단한 방법을 제공합니다. Vue 플러그인은 전역적으로 등록할 수 있으므로 애플리케이션 전체에서 사용할 수 있습니다. 다음은 일반적으로 사용되는 두 가지 Vue 플러그인입니다.
