0

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

这是一些代码,

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

1 回答 1

0

这在较旧的浏览器中可以工作,因为传统上<input type="file" />具有value返回本地文件系统中指定文件的完整路径的属性。然而,自 2006 年左右(想想 IE7+、Firefox 2+、Chrome 等)浏览器不再提供完整的文件路径,它们只提供文件名而不提供目录信息。这是为了保护用户的隐私(例如,因为上传的“我的文档”文件可能包含用户的真实姓名)。

这会影响上传的文件(浏览器不再在 POST 请求中发送完整的文件路径,因此服务器端代码只获取文件名和文件数据)以及本地脚本(就像您自己体验的那样)。

于 2012-07-30T12:08:28.020 回答