网络编程 
首页 > 网络编程 > 浏览文章

javascript结合fileReader 实现上传图片

(编辑:jimmy 日期: 2026/3/5 浏览:3 次 )

关于File API这里就不详细解释了,小伙伴们自行度娘吧,来我们就要利用文件句柄来读取文件内容,这是通过FileReader来实现的,通过FileReader接口,我们可以异步地将文件内容加载到内存中,赋予某个js变量。

复制代码 代码如下:
function getImgSrc(target, callback) {
    if (window.FileReader) {
        var oPreviewImg = null, oFReader = new window.FileReader();
        oFReader.onload = function (oFREvent) {
            oPreviewImg = new Image();
            var type = target.files[0].type.split("/")[1];
            var src = oFREvent.target.result;
            oPreviewImg.src = src;
            if (typeof callback == "function") {
                callback(oPreviewImg, target, type, src);
            }
            return oPreviewImg.src;
        };
        return (function () {
            var aFiles = target.files;
            if (aFiles.length === 0) {
                return;
            }
            if (!IsImgType(aFiles[0].type)) {
                alert("You must select a valid image file!");
                return;
            }
            if (aFiles[0].size > 1024 * 1024) {
                target.value = "";
                alert('Please upload image file size less than 1M.');
                return;
            }
            oFReader.readAsDataURL(aFiles[0]);
        })();
    }
    if (navigator.appName === "Microsoft Internet Explorer") {
        return (function () {
            document.getElementById("imagePreview").filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = target.value;
        })();
    }
}

以上就是javascript结合fileReader 实现上传图片的关键性代码了,小伙伴们喜欢吗?

上一篇:JavaScript中的值是按值传递还是按引用传递问题探讨
下一篇:使用JavaScript+canvas实现图片裁剪
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。