输入类型为“的图片预览”;文件";使用WebMatrix(C#)和/或JavaScript/jQuery,在所有版本的IE(8及以上)中都可以使用

输入类型为“的图片预览”;文件";使用WebMatrix(C#)和/或JavaScript/jQuery,在所有版本的IE(8及以上)中都可以使用,c#,javascript,jquery,image,webmatrix,C#,Javascript,Jquery,Image,Webmatrix,我如何获得图片预览以与IE 8及更高版本配合使用 我可以用JavaScript/jQuery从输入类型“file”中获取二进制图像数据吗 如果我能够将数据(以正确的格式)返回到服务器,我应该能够在那里使用它,然后使用AJAX返回它(尽管我绝对不是AJAX专家) 根据我所做的研究,仅使用javascript无法在所有IE版本中获得图片预览(这是因为获取完整文件路径被他们视为潜在的安全风险)。我可以要求我的用户将网站添加到受信任的网站中,但你通常不会要求用户篡改这些低级设置(更不用说让用户觉得你的网

我如何获得图片预览以与IE 8及更高版本配合使用

我可以用JavaScript/jQuery从输入类型“file”中获取二进制图像数据吗

如果我能够将数据(以正确的格式)返回到服务器,我应该能够在那里使用它,然后使用AJAX返回它(尽管我绝对不是AJAX专家)

根据我所做的研究,仅使用javascript无法在所有IE版本中获得图片预览(这是因为获取完整文件路径被他们视为潜在的安全风险)。我可以要求我的用户将网站添加到受信任的网站中,但你通常不会要求用户篡改这些低级设置(更不用说让用户觉得你的网站可疑的最快方法是让他们直接将你的网站添加到受信任的网站列表中。这就像发送电子邮件和询问密码一样。“相信我!我很安全!”


除了IE,我的图片预览在任何地方都能正常工作,使用条件评论将IE特有的方式与我在其他浏览器上的方式区分开来也没有问题。换句话说,答案甚至不必是跨浏览器的,只要跨IE(8和9)。我知道我以前见过IE网站使用图片预览(不知何故),所以我知道至少有一种方法可以做到这一点…

因此,如果您需要支持低于10的IE,您可以使用一些现有的AJAX上传组件(Uploadify、Plupload、Valums AJAX upload、Bleuimp等)将文件上传到服务器上,在服务器上生成并存储缩略图,并使用JSON将保存图像的url发送到客户端,以便客户端可以使用标记显示。实际上,由于IE支持数据URI方案,您不需要将上载的文件存储到服务器上以生成预览。您可以直接从浏览器返回生成的缩略图图像预览格式化为数据URI方案的控制器操作,以便您可以在客户端上显示它

另一个解决方案,如果你没有时间和资源来实现这个功能,就是简单地告诉你的用户,如果他们想得到一个实时预览的图像,他们应该考虑使用一个不同的Web浏览器,因为你的网站不支持IE。