몇 가지 방법으로 이 작업을 수행할 수 있습니다. 사용할 수 있는 가장 효율적인 방법은 약간만이라도 [로레비크리트로비치우를 ()] [1] 에 파일 에서 [& input&, gt, lt;;] [5]. [이마조지스크] [3] 이 url 을 전달하십시오 지시할 수 있는 브라우저 로드하기에 제공된 이미지.
39 의 here& 예:
<! - begin 스니핏: js 숨기십시오: > 거짓값 -;
<input type="file" accept="image/*" onchange="loadFile(event)">
<script>
var loadFile = function(event) {
var output = document.getElementById('output');
output.src = URL.createObjectURL(event.target.files[0]);
};
</script>
끝 - < 스니핏 >;!
[필레이더그리드라다토를 ()] 을 사용할 수도 있습니다. [4] 에서 파일 구문 분석을 위해 & input&, gt, lt;;). 이 문자열으로 base64 이미지가 포함된 메모리에 불러올 것으로 보인다.
<! - begin 스니핏: js 숨기십시오: > 거짓값 -;
<input type="file" accept="image/*" onchange="loadFile(event)">
<script>
var loadFile = function(event) {
var reader = new FileReader();
reader.onload = function(){
var output = document.getElementById('output');
output.src = reader.result;
};
reader.readAsDataURL(event.target.files[0]);
};
</script>
function showMyImage(fileInput) {
var files = fileInput.files;
for (var i = 0; i < files.length; i++) {
var file = files[i];
var imageType = /image.*/;
if (!file.type.match(imageType)) {
continue;
}
var img=document.getElementById("thumbnil");
img.file = file;
var reader = new FileReader();
reader.onload = (function(aImg) {
return function(e) {
aImg.src = e.target.result;
};
})(img);
reader.readAsDataURL(file);
}
}
어떻게 만드는 것에 대한 기능을 제공하는 파일 및 화재 로드되는지 사용자 정의 이벤트. 그럼 리스너에 부착합니다 다운스트림에서 입력입니다. 이 방식으로 파일을 사용하여 보다 유연하게 아니라 미리 볼 수 있도록 지원한다.
/**
* @param {domElement} input - The input element
* @param {string} typeData - The type of data to be return in the event object.
*/
function loadFileFromInput(input,typeData) {
var reader,
fileLoadedEvent,
files = input.files;
if (files && files[0]) {
reader = new FileReader();
reader.onload = function (e) {
fileLoadedEvent = new CustomEvent('fileLoaded',{
detail:{
data:reader.result,
file:files[0]
},
bubbles:true,
cancelable:true
});
input.dispatchEvent(fileLoadedEvent);
}
switch(typeData) {
case 'arraybuffer':
reader.readAsArrayBuffer(files[0]);
break;
case 'dataurl':
reader.readAsDataURL(files[0]);
break;
case 'binarystring':
reader.readAsBinaryString(files[0]);
break;
case 'text':
reader.readAsText(files[0]);
break;
}
}
}
function fileHandler (e) {
var data = e.detail.data,
fileInfo = e.detail.file;
img.src = data;
}
var input = document.getElementById('inputId'),
img = document.getElementById('imgId');
input.onchange = function (e) {
loadFileFromInput(e.target,'dataurl');
};
input.addEventListener('fileLoaded',fileHandler)
아마 제가 코드 isn& # 39, t 양호한 상태로 일부 사용자 로 하지만 난 그렇게 생각해 요점이지 얻을 수 있다. [예] [1] 여기서 확인할 수 있습니다
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
window.onload = function() {
if (window.File && window.FileList && window.FileReader) {
var filesInput = document.getElementById("uploadImage");
filesInput.addEventListener("change", function(event) {
var files = event.target.files;
var output = document.getElementById("result");
for (var i = 0; i < files.length; i++) {
var file = files[i];
if (!file.type.match('image'))
continue;
var picReader = new FileReader();
picReader.addEventListener("load", function(event) {
var picFile = event.target;
var div = document.createElement("div");
div.innerHTML = "";
output.insertBefore(div, null);
});
picReader.readAsDataURL(file);
}
});
}
}
데이터 속성용 추가하기만 " 데이터 유형 = editable"; 충족되었으며 이미지 태그 다음과 같습니다.
그리고 프로젝트에 스크립트입니다 끄기도구 물론이겠지.
function init() {
$("img[data-type=editable]").each(function (i, e) {
var _inputFile = $('<input/>')
.attr('type', 'file')
.attr('hidden', 'hidden')
.attr('onchange', 'readImage()')
.attr('data-image-placeholder', e.id);
$(e.parentElement).append(_inputFile);
$(e).on("click", _inputFile, triggerClick);
});
}
function triggerClick(e) {
e.data.click();
}
Element.prototype.readImage = function () {
var _inputFile = this;
if (_inputFile && _inputFile.files && _inputFile.files[0]) {
var _fileReader = new FileReader();
_fileReader.onload = function (e) {
var _imagePlaceholder = _inputFile.attributes.getNamedItem("data-image-placeholder").value;
var _img = $("#" + _imagePlaceholder);
_img.attr("src", e.target.result);
};
_fileReader.readAsDataURL(_inputFile.files[0]);
}
};
//
// IIFE - Immediately Invoked Function Expression
// https://stackoverflow.com/questions/18307078/jquery-best-practises-in-case-of-document-ready
(
function (yourcode) {
"use strict";
// The global jQuery object is passed as a parameter
yourcode(window.jQuery, window, document);
}(
function ($, window, document) {
"use strict";
// The $ is now locally scoped
$(function () {
// The DOM is ready!
init();
});
// The rest of your code goes here!
}));
function readURL(input) {
if (input.files && input.files[0]) {
var i;
for (i = 0; i < input.files.length; ++i) {
var reader = new FileReader();
reader.onload = function (e) {
$('#form1').append('');
}
reader.readAsDataURL(input.files[i]);
}
}
}
아래의 예제 코드를 살펴 보시기 바랍니다.
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
끝 - < 스니핏 >;!
또한 [종료기 이 샘플 여기서요] (http://jsfiddle.net/LvsYc/).
몇 가지 방법으로 이 작업을 수행할 수 있습니다. 사용할 수 있는 가장 효율적인 방법은 약간만이라도 [로레비크리트로비치우를 ()] [1] 에 파일 에서 [& input&, gt, lt;;] [5]. [이마조지스크] [3] 이 url 을 전달하십시오 지시할 수 있는 브라우저 로드하기에 제공된 이미지.
39 의 here& 예:
<! - begin 스니핏: js 숨기십시오: > 거짓값 -;
끝 - < 스니핏 >;!
[필레이더그리드라다토를 ()] 을 사용할 수도 있습니다. [4] 에서 파일 구문 분석을 위해 & input&, gt, lt;;). 이 문자열으로 base64 이미지가 포함된 메모리에 불러올 것으로 보인다.
<! - begin 스니핏: js 숨기십시오: > 거짓값 -;
끝 - < 스니핏 >;!
[1]: http://www.javascripture.com/URL # 크레이트로비치우를
[3]: http://www.javascripture.com/HTMLImageElement # src [4]: http://www.javascripture.com/FileReader # 리다다토를 [5]: http://www.javascripture.com/HTMLInputElement 파일을 #
한 줄 광고문 해결책:
다음 코드는 url 을 사용하는 것보다 훨씬 더 큰 이미지를 볼 수 있는 효율적인 객체에는 uirl 데이터 (data url 이 거대한 구체화하십시오 모두를 포함하는 파일 데이터 반면, 짧은 URL 문자열 객체를 참조하고, 단순히 파일 데이터 인메모리를):
<! - begin 스니핏: js 숨기십시오: > 거짓값 -;
끝 - < 스니핏 >;!
생성할지 uirl 같은 것입니다.
더불어 이 답을 리스타트 작동됨 " standard"; ff, 크롬 브라우저 같은. Ie 존재하지만 위한 솔루션 다르게 보입니다. 여기 설명을 크로스 브라우저 솔루션:
Img 는 표준 HTML 의 두 가지 요소, IE 의 브라우저 및 div 미리봅니다 필요하다.
HTML:
다음 IE 의 CSS 저희에게는힘과 대체하십시오 특정 것.
CSS.
우리는 이 ie 특정 표준판과 포함시키십시오 html 의 javascript:
39 라는 질문에 나는 @Ivan& 편집됩니다 표시하십시오 미리봅니다 " 셨노라 어떠한 Available"; 이미지 있지 않은 경우 이미지:
, 버전을 기반으로 한 여러 개의 파일을 here& # 39 의 이반 Baev& # 39 의 그 답이 있다.
Jquery 사용에 도움을 필요로 하는 자파르세사믈, $1.8 인해 XSS 완화.
이렇게 하면 바로 사용할 수 있는 유일한 의존성 작동합니까 you need is 포함한다.
예. 가능합니다.
Html
JS
[라이브 데모를] [1] 여기에서 얻을 수 있습니다.
깨끗하고 간단한 [ 이스피들 ] [1]
이 때 유용할 것이라고 다운로드하려는 이벤트를 통해 간접적으로 트리거됨 div 또는 버튼를.
예, HTML5 JavaScript 를 사용하여 여러 개의 이미지 (jQuery)
다음은 apc® 코드입니다.
'javascript'
어떻게 만드는 것에 대한 기능을 제공하는 파일 및 화재 로드되는지 사용자 정의 이벤트. 그럼 리스너에 부착합니다 다운스트림에서 입력입니다. 이 방식으로 파일을 사용하여 보다 유연하게 아니라 미리 볼 수 있도록 지원한다.
아마 제가 코드 isn& # 39, t 양호한 상태로 일부 사용자 로 하지만 난 그렇게 생각해 요점이지 얻을 수 있다. [예] [1] 여기서 확인할 수 있습니다
이 시도하시겠습니까
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
끝 - < 스니핏 >;!
이 솔루션은 어때?
데이터 속성용 추가하기만 " 데이터 유형 = editable"; 충족되었으며 이미지 태그 다음과 같습니다.
그리고 프로젝트에 스크립트입니다 끄기도구 물론이겠지.
[지켜보리니 데모 이스피들] [1]
내가 IE 에서 생성할 수 있는 플러그인을 예증의표적으로 미리봅니다 7+ 효과 덕분에 인터넷 않았지만, 몇 가지 제한이 있다. I put it 를 깃허브 페이지 맞도록 쉽게 이해했소
<! - begin 스니핏: js 숨기십시오: > 거짓값 -;
끝 - < 스니핏 >;!
여러 인스턴스용으로 이미지 업로드 (수정) 를 @IvanBaev& # 39 의 솔루션)
http://jsfiddle.net/LvsYc/12330/
따라서 누군가가 바란다.
div class = " 양식 그룹 col-md-3" > <;;; class = " <, 라벨, 기본 Iamge< /label> > control-label";;;
시간이 있는 파일의 경우 사용 중인 소품, 사용할 수 있습니다.
"'이스스 {프로프스트발루 instanceof 파일 & &; ( <, img src = {} /> 로레비크리트로비치우를 (프로프스트발루). )} "'
39 의 it& 내 코드. 지원부에서는 、 、 、 、 크롬 IE 파이어폭스 오페라 11+ Maxthon3 17+ [6-9]
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -; <! - 언어: > html 로 -; < 입력입니다 유형 = " file";; id = " netBarBig"; (이) = " 론창레 장제피리 "; />. img src = " " <;; id = " imagePreview"; style = " 너버 120px 높이 80px ";;; alt = " " />;;
끝 - < 스니핏 >;!
39 의 you& 반응할 경우 here& 솔루션을 사용하여 # 39, re:
>. 미리 보기 전에 여러 이미지를 사용하는 것은 업로드됨 jQuery / javascript?
이렇게 하면 한 번에 여러 개의 이미지 파일을 컴포지션으로 미리봅니다 축소판에 *
Html *
"' id = " ImageMedias" 입력입니다 <;; 여러 = " multiple"; name = " ImageMedias"; type = " file"; = " 동의하십시오 .j피프, .jpg, .jpeg, .png, .gif"; class = " custom-file-input"; 값 = " " >;; div id = " <;;;; divImageMediaPreview" > < /div>. "'
"' $ (", # ImageMedias") 이창레 (함수 () { if (메리 페로프 (필레이더)! = undefined" ";) { var 데브프레비예프 = $ (# divImageMediaPreview" ";). 데브프레비에우스타믈 (" ";). $ ($ (이) [0] 스피리스) 그레이크 (함수 () { var 파일 = $ (이); var 판독기에서 = new 필레이더 (); 에이드리언로이드 = 함수 (e) { var img = $ (,, img /> " < "). 임g. 타르 (" style" ", 가로:;; 150px. 높이 100px. 패딩: 10px"). 임g. 타르 (src" 에벌린다지t.레술트 ";). 데브프레비에웨인라펜드 (img); } 레이더그리드라다토를 (파일 [0]). }). } else { 경고 (", 이 HTML5 를 지원하지 않는 브라우저를 FileReader."). } }). "'
Apc® 데모 고데펜
[Apc® 데모 이스피들] [1]
이를 통해 됐으면 좋겠다 "고 말했다.