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浏览器没有问题!

  • 相关阅读:
    同步和异步Http请求工具类通过get和post方式发送请求
    c# IPC实现本机进程之间的通信
    C# 建立window服务
    WPF 将控件绑定到变量
    WPF触发器的使用
    C# DataTable 和List之间相互转换的方法
    WPF自适应窗体实现小结
    WPF简单导航框架(Window与Page互相调用)
    JavaEE框架面试题
    快速排序
  • 原文地址:https://www.cnblogs.com/niuniu0108/p/7606241.html
Copyright © 2011-2022 走看看