This article mainly introduces JavaScript to use FileReader to achieve image upload preview effect in detail. It has certain reference value. Interested friends can refer to it.
FileReader is part of the HTML5 File API. It implements an asynchronous file reading mechanism. You can think of FileReader as XMLHttpRequest, except that it reads the file system rather than the remote server. In order to read the data in the file, FileReader provides the following methods.
readAsText(file,encoding): Read the file in plain text and save the read file to the result attribute.
readAsDataURL(file): Read the file and save the file in the result attribute in the form of data URI.
readAsBinaryString(file): Read the file and save a string in the result attribute. Each character in the string represents one byte.
readAsArrayBuffer(file): Read the file and save an ArrayBuffer containing the file contents in the result attribute.
multiple attribute indicates support for multiple images
<p id="wrapper"> <input id="fileUpload" type="file" multiple /><br /> <p id="image-holder"> </p> </p>
$("#fileUpload").on('change', function () { //获取上传文件的数量 var countFiles = $(this)[0].files.length; var imgPath = $(this)[0].value; var extn = imgPath.substring(imgPath.lastIndexOf('.') + 1).toLowerCase(); var image_holder = $("#image-holder"); image_holder.empty(); if (extn == "gif" || extn == "png" || extn == "jpg" || extn == "jpeg") { if (typeof (FileReader) != "undefined") { // 循环所有要上传的图片 for (var i = 0; i < countFiles; i++) { var reader = new FileReader(); reader.onload = function (e) { $("<img />", { "src": e.target.result, "class": "thumb-image" }).appendTo(image_holder); } image_holder.show(); reader.readAsDataURL($(this)[0].files[i]); } } else { alert("你的浏览器不支持FileReader!"); } } else { alert("请选择图像文件。"); } });
FileReader can support Internet Explorer 10+, FireFox, Chrome and Opera browsers.
The above is the detailed content of Introduction to the function of JavaScript using FileReader to complete image uploading and previewing. For more information, please follow other related articles on the PHP Chinese website!