• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    jsp中点击图片弹出文件上传界面及预览功能的实现
    花了两天时间琢磨一下图片预览的功能

    任务需求如下:

    1:jsp页面中有一个图片(pic_1)
    2:点击图片弹出类似于资源管理器的界面
    3:选择完某一个图片之后在pic_1处预览

    我在IE8上试验下面这段代码,可以实现上述功能,没有在别的浏览器中测试,如果各位朋友知道多种浏览器的支持方法,请赐教,共同学习,谢谢。
    复制代码 代码如下:

    !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    html>
    head>
    meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    title>Insert title here/title>
    script type="text/javascript">
    function tempClick(){

    /**
    * 火狐浏览器实现点击图片出现文件上传界面
    * var a=document.createEvent("MouseEvents");
    * a.initEvent("click", true, true);
    * document.getElementById("upload_main_img").dispatchEvent(a);
    */

    //IE浏览器实现点击图片出现文件上传界面
    document.getElementById('main_img').click(); //调用main_img的onclick事件
    }

    /**
    * 预览图片
    * @param obj
    * @returns {Boolean}
    */
    function PreviewImg(obj) {

    var newPreview = document.getElementById("img_2");
    var imgPath = getPath(obj);
    alert(imgPath);
    if( !obj.value.match( /.jpg|.gif|.png|.bmp/i ) ){
    alert("图片格式错误!");
    return false;
    }

    newPreview.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
    newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgPath;
    }

    /**
    * 得到图片绝对路径
    * @param obj
    * @returns
    */
    function getPath(obj){
    if(obj) {
    if(navigator.userAgent.indexOf("MSIE")>0) {
    obj.select();
    //IE下取得图片的本地路径
    return document.selection.createRange().text;
    } else if(isFirefox=navigator.userAgent.indexOf("Firefox")>0) {
    if (obj.files) { // Firefox下取得的是图片的数据
    return files.item(0).getAsDataURL();
    }
    return obj.value;
    }
    return obj.value;
    }
    }
    /script>
    /head>
    body>
    form>
    div>input type="file" style="position: absolute; filter: alpha(opacity = 0); opacity: 0; width: 30px;" size="1" id="main_img" name="main_img" onchange="PreviewImg(this)">/div>
    div id="img_2" style="width:133px;height:95px; cursor:pointer; background-image: url('Chrysanthemum.jpg');" onclick="tempClick()">/div>
    /form>
    /body>
    /html>

    简单的对代码做一下讲解:
    input type="file" 这个元素我试过让style隐藏(style=“display:none”),这样就不能或得到绝对路径,而是fakepath,为了不让它显示出来就让他100%的透明,下面有一个div,id为img_2,这个div是页面初始图片,点击这个图片调用input type="file" 中的方法,实现此功能。 

    能力有限,还请各位指教,有更好的方法请提供给我,共同学习,Thanks。
    您可能感兴趣的文章:
    • Jsp页面实现文件上传下载类代码
    • jsp实现文件上传下载的程序示例
    • Jsp+Servlet实现文件上传下载 文件上传(一)
    • AJAX和JSP实现的基于WEB的文件上传的进度控制代码
    • jsp文件上传与下载实例代码
    • jsp中点击图片弹出文件上传界面及实现预览实例详解
    • 利用jsp+Extjs实现动态显示文件上传进度
    • jsp 文件上传浏览,支持ie6,ie7,ie8
    • servlet+JSP+mysql实现文件上传的方法
    • JSP实现文件上传功能
    上一篇:多种方法实现当jsp页面完全加载完成后执行一个js函数
    下一篇:JSP中获取ExtJS.Ajax前台传递的JSON数据实现过程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    jsp中点击图片弹出文件上传界面及预览功能的实现 jsp,中,点击,图片,弹出,文件,