之前被上传我有我的aspx页面一个FileUpload控件,我想,这样用户确认上传的图片显示回发之前选择的图像。如何显示图像的预览实际上把它发送到服务器
回答
您可以使用此AJAX控件工具包控件进行图像确认。
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AsyncFileUpload/AsyncFileUpload.aspx
你在找什么需要一个纯客户端解决方案,我不认为这是可能的,因为他们没有访问文件系统(正常情况下)。
注意,使用AJAX需要文件实际发送到服务器第一。
这不可能通过HTML。但可能使用flash/silverlight。
我这样说是因为我记得跨过一个问题来了,当我想起来前一个文件有多大,用户上传之前知道。 Html并不能让你知道这一点,用户必须先上传整个文件,然后才能说它有多大。
然而,解决方法是使用闪光灯,因为闪光灯似乎有权限把它发送到服务器(用户选择过程中的文件之后)抢到从本地磁盘上的文件数据。由于它可以抓取文件名,大小等,我想你可以抓取图像数据,然后显示它。
您将需要使用flash或silverlight来做到这一点。 在此处,它解释了如何做到这一点与闪光灯的文章: http://blog.flexexamples.com/2008/08/25/previewing-an-image-before-uploading-it-using-the-filereference-class-in-flash-player-10/
这可以通过HTML5来实现,现在当上传选择你想阅读与
文件,http://www.html5rocks.com/en/tutorials/file/dndfiles/
readAsBinaryString
那么你就需要二进制转向Base64编码,所以你可以在网页上显示,
http://www.webtoolkit.info/javascript-base64.html
然后你需要把它放到一个img标签上的SRC EG
<img src="data:{image/mime_type};base64,{base64_binary_data}" width="100" height="100" />
凡{图像/ MIME_TYPE}是他们上传EG图像的MIME类型图像/ PNG,图片/ JPG
而且{} base64_binary_data是readAsBinaryString就不见了虽然base64相互转换
如果这是有可能通过纯HTML后,然后你在很多天之前就会在社交网站上看到这个功能。在拍摄图像预览之前需要发布数据。 – Acn 2012-01-11 06:48:35
它可能*可能与HTML5,虽然...我在想gmail文件下拉区的东西像 – 2012-01-11 06:52:45
可能重复[如何预览图像,然后将其上传到服务器?](http://堆栈溢出。com/questions/7242473 /如何预览图像之前上传它到服务器) – V4Vendetta 2012-01-11 06:53:07