以下用于上传图像和预览的 Javascript 代码在 Chrome 中工作正常,但在 IE8 中不起作用。我尝试了一整天,但无法解决这个问题。任何人都可以帮助我解决这个问题。提前致谢
<form name="addpoll" action="" method="post" id="addpoll" enctype="multipart/form-data" class="polladdform" onsubmit="return validation();">
<input type="button" onclick="HandFileButtonClick();" value="Browse" id="firstremove" style="margin-top: 30px;" class="addmultiple">
<input type=file name="choiceimg1" id="chimg1" value ="Select" onchange="readURL(this)" style="display:none;">
<img src="#" name="viewimg1" class="addmultiple" id="viewimg1" height="70px" width="85px" style="display:none"/>
<script>
function HandFileButtonClick()
{
document.addpoll.choiceimg1.click();
}
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
var ss=$(input).attr('name');
var n=ss.split("choiceimg");
reader.onload = function (e) {
$('#viewimg'+n[1]).css({'display':'block','margin-left':'332px','margin-top':'-88px'});
$('#viewimg'+n[1]).attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
</script>
最佳答案
Microsoft 提供了一个对象来处理文件,FileSystemObject
,文档为 here .
它确实可以正确获取文件内容,但有两个限制使其在大多数情况下毫无用处:
- “初始化未标记为安全的 ActiveX 控件并为其编写脚本”必须为“启用”;
- “将文件上传到服务器时包含本地目录路径”必须为“启用”。
这两个选项是在IE的安全设置中的,我认为在正常情况下用户不会将它们设置为“启用”。
关于javascript - 使用Javascript功能上传和预览图像在IE8中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14502010/