[英]How to show preview of image being uploaded before actually sending it to server
我的aspx页面中有一个FileUpload控件,我想在回发之前显示所选的图像,以便用户确认要上传的图像。
您可以使用此AJAX Control Toolkit控件进行图像确认。
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AsyncFileUpload/AsyncFileUpload.aspx
您正在寻找的是需要一个纯客户端解决方案,我认为这是不可能的,因为他们无法访问文件系统(在正常情况下)。
请注意,使用AJAX需要首先将文件实际发送到服务器。
这可以通过HTML5现在完成,
http://www.html5rocks.com/en/tutorials/file/dndfiles/
选择上传后,您想要读取该文件
readAsBinaryString
然后你需要将该二进制文件转换为Base64,以便在页面上显示它,
http://www.webtoolkit.info/javascript-base64.html
然后你需要把它放在src EG中的img标签上
<img src="data:{image/mime_type};base64,{base64_binary_data}" width="100" height="100" />
其中{image / mime_type}是图像的mime类型,他们上传了EG image / png,image / jpg
并且{base64_binary_data}是通过base64转换后的readAsBinaryString
通过HTML无法实现。 但有可能使用闪光/银光。
我之所以这么说,是因为我想在用户上传文件之前想知道文件的大小,就会遇到问题。 Html不会让你知道这一点,用户必须先上传整个文件才能说出它有多大。
但是,解决方法是使用闪存,因为闪存似乎有权从本地磁盘中获取有关文件的数据,然后再将其发送到服务器(当然用户选择文件后)。 因为它可以获取文件名,大小等,所以我想你也可以抓取图像数据然后显示它。
你将需要使用闪光灯或silverlight来做到这一点。 这是一篇文章,其中介绍了如何使用Flash: http : //blog.flexexamples.com/2008/08/25/previewing-an-image-before-uploading-it-using-the-filereference-class-in -flash玩家-10 /
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.