-1

我正在使用 jquery 1.8.3,并且正在尝试进行跨浏览器图像预览。这必须支持 IE6 及更高版本、Firefox 和 Chrome。尤其是 IE 很重要,这就是我所有心痛的开始。

我正在使用的html如下:

<div>
    <div id="preview">
    </div>
    <div>
        <input type="file" name="companypicture" id="companypicture" />
        <a href="" class="overviewdelete">Delete</a>
    </div>
</div>

我试图开始工作的jquery:

$('#companypicture').on('change', function () {

        var file = $('#companypicture').val();
        var image = $('<img>').attr('src', file);
        $('#preview').html(image);
    });

我也试过:

$('#companypicture').on('change', function () {

        var file = $('#companypicture').val();
        var html = '<img src="' + file + '" alt="" />';
        $('#preview').html(html);
    });

所有这一切都是给我一个断开的链接。我得到图像的替代文本,因为链接不正确。

我也试过 FileReader。FileReader 适用于 IE10,但不适用于 6-7-8-9。由于它必须在 IE6 及更高版本上运行,因此没有解决方案。

由于我一直试图在谷歌上找到答案,我似乎无法在那里找到任何答案。我希望这里有人可以帮助我。

编辑:目前的建议是我将文件上传到我的服务器,然后使用那里的链接显示图像,最后再次删除链接。

4

1 回答 1

0

您无法在任何浏览器中获取文件上传的完整本地路径。它是浏览器内置的安全功能。您可以将该图像临时保存在某处,并在用户单击保存后删除。使用 jQuery ajax() 保存图像,之后您将轻松获得图像路径:)

于 2012-12-12T16:50:54.733 回答