扫码关注官方订阅号
上传图片本地预览是如何实现的?比如segmentfault。
欢迎选择我的课程,让我们一起见证您的进步~~
我这里有一段从网络上看到的代码:jQuery.fn.extend({
uploadPreview: function (opts) { var _self = this, _this = $(this); opts = jQuery.extend({ Img: "ImgPr", Width: 100, Height: 100, ImgType: ["gif", "jpeg", "jpg", "bmp", "png"], Callback: function () {} }, opts || {}); _self.getObjectURL = function (file) { var url = null; if (window.createObjectURL != undefined) { url = window.createObjectURL(file) } else if (window.URL != undefined) { url = window.URL.createObjectURL(file) } else if (window.webkitURL != undefined) { url = window.webkitURL.createObjectURL(file) } return url }; _this.change(function () { if (this.value) { if (!RegExp("\.(" + opts.ImgType.join("|") + ")$", "i").test(this.value.toLowerCase())) { alert("选择文件错误,图片类型必须是" + opts.ImgType.join(",") + "中的一种"); this.value = ""; return false } try { var dataurl = _self.getObjectURL(this.files[0]); alert(dataurl); } catch (e) { alert(e.message); } } }) }
});可兼容你说的那两个浏览器。
JS:
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); });
HTML:
<form id="form1" runat="server"> <input type='file' id="imgInp" /> <img id="blah" src="#" alt="your image" /> </form>
segmentfault是上传后获取的url地址显示图片的.
如果你需要上传之前预览:DEMO:https://jsfiddle.net/rainwsy/ca8brrge/html:
<input id="file" type="file" /> <img id="preview" />
js
var file = document.getElementById('file'); var preview = document.getElementById('preview'); file.addEventListener('change', function() { preview.src = URL.createObjectURL(this.files[0]); }, false);
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
我这里有一段从网络上看到的代码:
jQuery.fn.extend({
});
可兼容你说的那两个浏览器。
JS:
HTML:
segmentfault是上传后获取的url地址显示图片的.
如果你需要上传之前预览:DEMO:https://jsfiddle.net/rainwsy/ca8brrge/
html:
js