Javascript 上传前查看图像在IE中不起作用

Javascript 上传前查看图像在IE中不起作用,javascript,html,image,file-upload,Javascript,Html,Image,File Upload,我从通过单击按钮打开的窗口中选择图像。然后我显示选定的图像。我创建一个div,然后创建一个image元素。我从上传的文件源中获取图像的源,然后将其附加到div中。在没有任何服务器的情况下,它可以正常工作,但是窗口会提示被阻止的内容,我允许这样做。但是当我在服务器上运行它时,图像不会显示!甚至不需要许可!在chrome和firefox中一切正常 这里有一些代码 if(document.all) { var image = document.createElement("img");

我从通过单击按钮打开的窗口中选择图像。然后我显示选定的图像。我创建一个div,然后创建一个image元素。我从上传的文件源中获取图像的源,然后将其附加到div中。在没有任何服务器的情况下,它可以正常工作,但是窗口会提示被阻止的内容,我允许这样做。但是当我在服务器上运行它时,图像不会显示!甚至不需要许可!在chrome和firefox中一切正常

这里有一些代码

if(document.all) {
        var image = document.createElement("img");
        image.src = document.getElementById('fileElem').value;
        }
thumbnail.appendChild(image);

这在较旧的浏览器中是可行的,因为传统上
有一个
属性,该属性返回本地文件系统中指定文件的完整路径。然而,自从2006年左右(比如IE7+、Firefox2+、Chrome等)浏览器不再提供完整的文件路径以来,它们只提供文件名而不提供目录信息。这是为了保护用户的隐私(因为上传的“我的文档”文件可能包含用户的真实姓名)


这会影响上载的文件(浏览器不再在POST请求中发送完整的文件路径,因此服务器端代码只获取文件名和文件数据)以及本地脚本(正如您自己所经历的)。

您想做什么?IE不支持HTML5文件API,所以我不知道你希望这段代码做什么。我看到的是服务器无法从用户PC中的src获取图像。因为,没有权限,也不应该!!!那么,在IE中,有没有办法在上传前显示图像呢?而且,IE不支持filereader!不,不可能。您需要先将图像上载到服务器,然后生成预览。或者使用一些客户端脚本技术,比如Flash。我使用了firefox和chrome的文件API。而且它工作得很好。但是我怎样才能在IE中实现同样的功能呢?你不能。我不支持。这就像问如何让一辆20年的汽车以200英里的时速行驶。我告诉过你:将图像上传到服务器,然后生成预览或者一些客户端脚本,比如Flash和ActiveX。还有一种可能性是告诉客户,如果他们想拥有站点的即时图像预览功能,就可以使用现代浏览器。但别担心,并不是所有的希望都破灭了,你可以在IE 10中实现这一点。但我使用image.src=document.getElementById('fileElem').value获取图像的完整文件路径;这取决于浏览器。另外,一些浏览器可能有不同的规则。另外,是否添加“file://”URI方案前缀?是。但并没有IE的解决方案。我必须将它上传到服务器上,然后获取它并绘制它!