【问题标题】:Image upload and preview using Javascript function not working in IE8使用 Javascript 功能的图像上传和预览在 IE8 中不起作用
【发布时间】:2013-01-24 13:03:21
【问题描述】:

以下用于上传图像和预览的 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>

【问题讨论】:

  • FileReader 在 ie8 中,你在开玩笑吗?
  • 这就是为什么我要求 FileReader 的任何其他具有相同功能的函数进行上述编码
  • 那我猜你需要改写你的问题。并删除所有关于“我尝试了一整天,但我无法解决这个问题”的废话。
  • 旧版或非现代浏览器(IE 就是一个很好的例子)不支持 JavaScript 的 File API。在 IE 上使用 JavaScript 读取文件的唯一方法是使用不安全的 ActiveX“Scripting.FileSystemObject”,但用户首先必须允许您的权限,除非它是内部网络,否则不会发生。

标签: javascript image-upload


【解决方案1】:

微软提供了一个对象来处理文件,FileSystemObject,doc 是here

它确实可以正确获取文件内容,但有两个限制使其在大多数情况下无用:

  • “初始化并编写未标记为安全的 ActiveX 控件”必须为“启用”;
  • “将文件上传到服务器时包含本地目录路径”必须为“启用”。

这两个选项在 IE 的安全设置中,我认为用户在正常情况下不会将它们设置为“启用”。

【讨论】:

    猜你喜欢
    • 2012-11-23
    • 2016-11-13
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 2017-04-03
    • 1970-01-01
    相关资源
    最近更新 更多