하드 드라이브에서 이미지를 선택하여 서버에 전송 (업로드)하기 전에 이미지를 표시하려고합니다. 내가 this 웹 사이트에 작은 코드를 발견했는데, 붙여 넣기 복사했지만 작동하지 않습니다 (데모 페이지에 있음). 이미지를 선택할 수 있으며 그 이름은 파일 선택 버튼의 오른쪽에 표시되지만 이미지도 크기도 표시되지 않습니다. 나는 머리카락을 꺼내고있다.업로드하기 전에 이미지를 업로드하도록 선택하십시오. 업로드하기 전에 작동하지 않습니다.
전체 코드 :
<!DOCTYPE html> <!-- Using margin:auto will not work in IE8, unless a !DOCTYPE is declared. -->
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="design3.css" rel="stylesheet" type="text/css"/>
<script src="jquery-1.8.3.min.js"></script>
<script language="JavaScript">
// Handle file while select a new file
$('#file').change(function() {
$('#img_size').val((this.files[0].size)/1000000);
handleFiles(this.files);
});
// handle files
function handleFiles(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('fake_img');
/* img.src = file;
img.onload = function() {
}; */
var reader = new FileReader();
reader.onload = (function (aImg) {
return function (e) {
aImg.src = e.target.result;
};
})(img);
reader.readAsDataURL(file);
}
}
function drawAd()
{
window.open('http://www.google.com');
}
</script>
</head>
<body>
<input type="file" id="file"/>
<input type="text" id="img_size" />
<img src="" id="fake_img" />
<button type="button" onclick="drawAd()">Refresh</button>
</body>
</html>
는 IE와 크롬에서 테스트.
브라우저 콘솔에서 오류를 확인 했습니까? – Pointy
또한 jQuery를 가져 오시겠습니까? 그 코드는 무엇입니까? – Pointy
jQuery를 처음 사용합니다. 나는 head block에 이것을 가지고있다 : 그리고이 .js 파일은 나의 웹 페이지와 같은 디렉토리에있다. – erdomester