zoukankan      html  css  js  c++  java
  • C# asp:FileUpload上传文件使用JS实现预览效果

    js代码:

    <script type="text/javascript">
    //下面用于图片上传预览功能
    function setImagePreview() {
    var docObj = document.getElementById("fileImg");

    var imgObjPreview = document.getElementById("preview");
    if (docObj.files && docObj.files[0]) {
    //火狐下,直接设img属性
    imgObjPreview.style.display = 'block';
    imgObjPreview.style.width = '150px';
    imgObjPreview.style.height = '180px';
    //imgObjPreview.src = docObj.files[0].getAsDataURL();

    //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式
    imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
    }
    else {
    //IE下,使用滤镜
    docObj.select();
    var imgSrc = document.selection.createRange().text;
    var localImagId = document.getElementById("localImag");
    //必须设置初始大小
    localImagId.style.width = "150px";
    localImagId.style.height = "180px";
    //图片异常的捕捉,防止用户修改后缀来伪造图片
    try {
    localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
    localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
    }
    catch (e) {
    alert("您上传的图片格式不正确,请重新选择!");
    return false;
    }
    imgObjPreview.style.display = 'none';
    document.selection.empty();
    }
    }

    Html界面

    <div id="localImag">
    <img id="preview" src="" width="150" height="180" style="display: block; 150px; height: 180px;">
    </div>
    <asp:FileUpload ID="fileImg" runat="server" CssClass="fileImg" onchange="javascript:setImagePreview();" />

    测试:谷歌浏览器和IE浏览器没有问题!

  • 相关阅读:
    Typora使用腾讯云图床
    2020年8月总结
    113 路径之和II
    103 二叉树的锯齿形层次遍历
    128 最长连续序列
    160 相交链表
    33 搜索旋转排序数组
    学习制作GitHub徽标
    105 从前序与中序遍历序列构造二叉树
    重新封装了layer.tips,自定义跟随弹窗
  • 原文地址:https://www.cnblogs.com/niuniu0108/p/7606241.html
Copyright © 2011-2022 走看看