js读取本地图片并显示

根据项目需要,需要选择本地图片并显示在页面上,然后上传至服务器。因为自身刚刚接触js,所以比较生疏,碰到问题吼,幸好有强大的网络,搜索很多有用的资源,现在将js读取本地图片并显示的代码总结一下,供大家使用,并给自己一个记录。

第一种方法:

<script type="text/javascript">

//图片显示插件
        (function ($) {
            $.imageFileVisible = function (options) {
                // 默认选项
                var defaults = {
                    //包裹图片的元素
                    wrapSelector: null,
                    //<input type=file />元素
                    fileSelector: null,
                    width: '100%',
                    height: 'auto',
                    errorMessage: "不是图片"
                };
                // Extend our default options with those provided.    
                var opts = $.extend(defaults, options);
                $(opts.fileSelector).on("change", function () {
                    var file = this.files[0];
                    var imageType = /image.*/;
                    if (file.type.match(imageType)) {
                        var reader = new FileReader();
                        reader.onload = function () {
                            var img = new Image();
                            img.src = reader.result;
                            $(img).width(opts.width);
                            $(img).height(opts.height);
                            $(opts.wrapSelector).append(img);
                        };
                        reader.readAsDataURL(file);
                    } else {
                        alert(opts.errorMessage);
                    }
                });
            };
        })(jQuery);
        $(document).ready(function () {
            //图片显示插件
            $.imageFileVisible({ wrapSelector: "#image-wrap1",
                fileSelector: "#file1",
                width: 300,
                height: 300
            });
            $.imageFileVisible({ wrapSelector: "#image-wrap2",
                fileSelector: "#file2",
                width: 300,
                height: 300
            });
        });

 </script>

 <div id="ImportHead">
        <table border="0" class="frm" style="height: 35px; width: auto; padding-left: 5px;
            padding-top: 1px;">
            <tr style="width: 300px; height: 400px;">
                <th>
                    选择图1:
                </th>
                <td>
                    <input type="file" id="file1">
                    <div id="image-wrap1" style="width: 300px; height: 300px; border: solid 1px lightGray">
                    </div>
                </td>
                <th>
                    选择图2:
                </th>
                <td style="width: 300px;">
                    <input type="file" id="file2">
                    <div id="image-wrap2" style="width: 300px; height: 300px; border: solid 1px lightGray">
                    </div>
                </td>
            </tr>
            <tr>
                <td colspan="2" style="text-align: right">
                    <input type="submit" id="btnUpload" class="btnSearch" value="上传" />
                </td>
            </tr>
        </table>
    </div>


第二种方法:

<html>
<body>
 <img id="image"src=""/>
<br/>
 <input type="file"οnchange="selectImage(this);"/>
<br/>
<script>
    var image = '';
    function selectImage(file) {
        if (!file.files || !file.files[0]) {
            return;
        }
        var reader = new FileReader();
        reader.onload = function (evt) {
            document.getElementById('image').src = evt.target.result;
            image = evt.target.result;
        }
        reader.readAsDataURL(file.files[0]);
    }
</script>
</body>

</html>

转载自:https://blog.csdn.net/qiulei_21/article/details/52785191

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值