How to preview selected image in input type=“file” in popup using jQuery?
本问题已经有最佳答案,请猛点这里访问。
在我的代码中,我允许用户上传图像。 现在我想在同一个弹出窗口中将此选定图像显示为预览。 我怎么能用jQuery做到这一点?
以下是我在弹出窗口中使用的输入类型。
HTML代码:
1 | <input type="file" name="uploadNewImage"> |
演示
HTML:
1 2 3 4 | <form id="form1" runat="server"> <input type='file' id="imgInp" /> <img id="blah" src="#" alt="your image" /> </form> |
jQuery的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function readURL(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $('#blah').attr('src', e.target.result); } reader.readAsDataURL(input.files[0]); } } $("#imgInp").change(function(){ readURL(this); }); |
参考
如果您使用的是HTML5,请尝试使用以下代码段
1 2 3 4 5 6 7 8 9 10 11 12 | <img id="uploadPreview" style="width: 100px; height: 100px;" /> <input id="uploadImage" type="file" name="myPhoto" onchange="PreviewImage();" /> <script type="text/javascript"> function PreviewImage() { var oFReader = new FileReader(); oFReader.readAsDataURL(document.getElementById("uploadImage").files[0]); oFReader.onload = function (oFREvent) { document.getElementById("uploadPreview").src = oFREvent.target.result; }; }; |
1 2 3 4 5 6 7 | function img_pathUrl(input){ $('#img_url')[0].src = (window.URL ? URL : webkitURL).createObjectURL(input.files[0]); } <img src="" id="img_url" alt="your image"> <iput type="file" id="img_file" onChange="img_pathUrl(this);"> |
只需检查我的脚本是否正常运行:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | function handleFileSelect(evt) { var files = evt.target.files; // FileList object // Loop through the FileList and render image files as thumbnails. for (var i = 0, f; f = files[i]; i++) { // Only process image files. if (!f.type.match('image.*')) { continue; } var reader = new FileReader(); // Closure to capture the file information. reader.onload = (function(theFile) { return function(e) { // Render thumbnail. var span = document.createElement('span'); span.innerHTML = ['<img class="thumb" src="', e.target.result, '" title="', escape(theFile.name), '"/>'].join(''); document.getElementById('list').insertBefore(span, null); }; })(f); // Read in the image file as a data URL. reader.readAsDataURL(f); } } document.getElementById('files').addEventListener('change', handleFileSelect, false); |
1 2 3 4 5 | #list img{ width: auto; height: 100px; margin: 10px ; } |
您可以使用ajax上传来预览所选文件。
http://zurb.com/playground/ajax-upload