https://github.com/aFarkas/webshim/에서 filereader shim을 얻을 수있는 사람이 누구나 IE9에서 작동하도록했습니다.filereader 심, ie9에서 작동하지 않을 수 있습니다.
event.target.files가 정의되지 않았기 때문에 선택한 파일에 대한 정보를 얻을 수 없습니까?
내가 선택되어있는 파일에 대한 액세스를 얻을 수
$('#fp_file').on('change',function() {
fileSelected($(this));
});
// File selected
function fileSelected(ele)
{
var file = $(ele).prop('files')[0];
var fileSize = 0;
if(file)
{
if(file.size > 1024 * 1024)
{
fileSize = (Math.round(file.size * 100/(1024 * 1024))/100).toString() + 'MB';
}
else
{
fileSize = (Math.round(file.size * 100/1024)/100).toString() + 'KB';
}
$('#fileName').html(file.name);
$('#fileSize').html(fileSize);
$('#fileType').html(file.type);
$('#file_dets').show('slide');
}
else
{
alert('no file : ' + file);
}
}
다음과 같은 HTML ... 그러나
<!DOCTYPE html>
<html>
<head>
<title>Financial Promotions Form</title>
<link rel="stylesheet" type="text/css" href="financial_promotion.css" />
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="js-webshim/minified/extras/modernizr-custom.js" type="text/javascript"></script>
<script src="js-webshim/minified/polyfiller.js" type="text/javascript"></script>
</head>
<body>
<div id="wrapper">
<form id="financial_promotion" action="financial_promotions.pl" method="post" enctype="multipart/form-data">
<fieldset>
<legend>Promotion Documentation </legend>
<label for="fp_file">Upload File</label>
<input class="ws-filereader" type="file" name="fp_file" id="fp_file" />
</fieldset>
<fieldset id="file_dets">
<legend>File Information</legend>
<div>
<label for="fileName">Name</label><span id="fileName"></span>
</div>
<div>
<label for="fileSize">Size</label><span id="fileSize"></span>
</div>
<div>
<label for="fileType">Type</label><span id="fileType"></span>
</div>
</fieldset>
</form>
</div>
</body>
</html>
을 가지고, 그렇지 않습니다 $(ele).prop('files')[0];
또는 event.target.files
또는 다른 조합을 사용하면 문제가 될 수 있습니다. IE9에서는 항상 정의되지 않습니다.