javascript实现图片上传前台页面


Posted in Javascript onAugust 18, 2015

这篇文章主要通过代码分析javascript实现图片上传前台页面,废话不多说了,直接贴代码了。

代码示例一:

<script>
  //检查图片的格式是否正确,同时实现预览
  function setImagePreview(obj, localImagId, imgObjPreview) {
   var array = new Array('gif', 'jpeg', 'png', 'jpg', 'bmp'); //可以上传的文件类型 
   if (obj.value == '') {
    $.messager.alert("提示", "让选择要上传的图片!");
    flag = false;
    return false;
   }
   else {
    var fileContentType = obj.value.match(/^(.*)(\.)(.{1,8})$/)[3]; //这个文件类型正则很有用 
    ////布尔型变量 
    var isExists = false;
    var objValue = obj.value;
    try {
     //对于IE判断要上传的文件的大小 
     var fso = new ActiveXObject("Scripting.FileSystemObject");
     fileLenth = parseInt(fso.getFile(objValue).size);
    } catch (e) {
     try {
      //对于非IE获得要上传文件的大小 
      fileLenth = parseInt(obj.files[0].size);
     } catch (e) {
      flag = false;
      return false;
     }
    }
    //循环判断图片的格式是否正确 
    for (var i in array) {
     if (fileContentType.toLowerCase() == array[i].toLowerCase()) {
      //图片格式正确之后,根据浏览器的不同设置图片的大小 
      if (obj.files && obj.files[0]) {
       //火狐下,直接设img属性 
       imgObjPreview.style.display = 'block';
       imgObjPreview.style.width = '180px';
       imgObjPreview.style.height = '200px';
       //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式 
       imgObjPreview.src = window.URL.createObjectURL(obj.files[0]);
       if (fileLenth > 102400) {
        $.messager.alert("提示", "请选择小于100k的图片!");
        flag = false;
        return false;
       }
      }
      else {
       //IE下,使用滤镜 
       obj.select();
       var imgSrc = document.selection.createRange().text;
       //必须设置初始大小 
       localImagId.style.width = "180px";
       localImagId.style.height = "200px";
       //图片异常的捕捉,防止用户修改后缀来伪造图片 
       try {
        localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
        localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
       }
       catch (e) {
        $.messager.alert("提示", "您上传的图片格式不正确,请重新选择!");
        flag = false;
        return false;
       }
       imgObjPreview.style.display = 'none';
       document.selection.empty();
      }
      isExists = true;
      flag = true;
      return true;
     }
    }
    if (isExists == false) {
     $.messager.alert("提示", "上传图片类型不正确!");
     flag = false;
     return false;
    }
    flag = false;
    return false;
   }
  } 
 </script>
<tr class="detailInfo">
    <td align="right">
     上传照片:
    </td>
    <td align="left" >
     <input type="file" id="idFile" name="idFile" width="150px" runat="server" onchange="javascript:setImagePreview(this,localImag,preview);" />
    </td> 
   </tr>
   <tr class="detailInfo">
    <td align="right">
     预 览:
    </td>
    <td>
     <div id="localImag">
      <img id="preview" alt="预览图片" src="../img/userphoto.jpg" style="width: 150px; height: 170px;" />
     </div>
    </td> 
   </tr>

代码示例二:

<!doctype html> 
<html> 
 <head> 
  <meta charset="utf-8" /> 
  <title>ImageDialog Examples</title> 
  <link rel="stylesheet" href="../themes/default/default.css" /> 
  <script src="../kindeditor.js"></script> 
  <script src="../lang/zh_CN.js"></script> 
  <script> 
   KindEditor.ready(function(K) { 
    var editor = K.editor({ 
     allowFileManager : true 
    }); 
    K('#image1').click(function() { 
     editor.loadPlugin('image', function() { 
      editor.plugin.imageDialog({ 
       imageUrl : K('#url1').val(), 
       clickFn : function(url, title, width, height, border, align) { 
        K('#url1').val(url); 
        editor.hideDialog(); 
       } 
      }); 
     }); 
    }); 
    K('#image2').click(function() { 
     editor.loadPlugin('image', function() { 
      editor.plugin.imageDialog({ 
       showLocal : false, 
       imageUrl : K('#url2').val(), 
       clickFn : function(url, title, width, height, border, align) { 
        K('#url2').val(url); 
        editor.hideDialog(); 
       } 
      }); 
     }); 
    }); 
    K('#image3').click(function() { 
     editor.loadPlugin('image', function() { 
      editor.plugin.imageDialog({ 
       showRemote : false, 
       imageUrl : K('#url3').val(), 
       clickFn : function(url, title, width, height, border, align) { 
        K('#url3').val(url); 
        editor.hideDialog(); 
       } 
      }); 
     }); 
    }); 
   }); 
  </script> 
 </head> 
 <body> 
  <p><input type="text" id="url1" value="" /> <input type="button" id="image1" value="选择图片" />(网络图片 + 本地上传)</p> 
  <p><input type="text" id="url2" value="" /> <input type="button" id="image2" value="选择图片" />(网络图片)</p> 
  <p><input type="text" id="url3" value="" /> <input type="button" id="image3" value="选择图片" />(本地上传)</p> 
 </body> 
</html>

当点击选择图片时加载该js。然后复制imageDialog,在image.js查找它,会发现里面跟这差不多的东西。这时就应该懂了,upload_json.jsp设置url,title,width,height,order,align,前台就可以使用了。

以上是本文对javascript实现图片上传前台页面的全部内容,希望大家喜欢。

Javascript 相关文章推荐
用jquery实现学校的校历(asp.net+jquery ui 1.72)
Jan 01 Javascript
JS编程小常识很有用
Nov 26 Javascript
javascript转换静态图片,增加粒子动画效果
May 28 Javascript
探究Javascript模板引擎mustache.js使用方法
Jan 26 Javascript
jquery实现点击页面回到顶部
Nov 23 Javascript
Vue.JS入门教程之自定义指令
Dec 08 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 jQuery
JavaScript注册时密码强度校验代码
Jun 30 Javascript
JS+HTML+CSS实现轮播效果
Nov 28 Javascript
微信小程序 如何引入外部字体库iconfont的图标
Jan 31 Javascript
微信小程序自定义可滑动日历界面
Dec 28 Javascript
JS无限级导航菜单实现方法
Jan 05 Javascript
jquery使用ul模拟select实现表单美化的方法
Aug 18 #Javascript
jQuery实现的漂亮表单效果代码
Aug 18 #Javascript
jquery实现select下拉框美化特效代码分享
Aug 18 #Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
Aug 18 #Javascript
JS+DIV+CSS实现仿表单下拉列表效果
Aug 18 #Javascript
js模拟淘宝网的多级选择菜单实现方法
Aug 18 #Javascript
js实现Select头像选择实时预览代码
Aug 17 #Javascript
You might like
用session做客户验证时的注意事项
2006/10/09 PHP
yii使用activeFileField控件实现上传文件与图片的方法
2015/12/28 PHP
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
js实现杯子倒水问题自动求解程序
2013/03/25 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
详解JS面向对象编程
2016/01/24 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
详解Vue2.0之去掉组件click事件的native修饰
2017/04/20 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
python中列表元素连接方法join用法实例
2015/04/07 Python
ansible作为python模块库使用的方法实例
2017/01/17 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
Python实现登陆文件验证方法
2018/10/06 Python
python爬虫 requests-html的使用
2020/11/30 Python
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
英国床垫和床架购物网站:Bedman
2019/11/04 全球购物
高三历史教学反思
2014/01/09 职场文书
年会活动策划方案
2014/01/23 职场文书
幼儿园教师教育感言
2014/02/28 职场文书
团队拓展活动方案
2014/08/28 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
庆七一晚会主持词
2015/06/30 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
小学班主任工作随笔
2015/08/15 职场文书
小学生红领巾广播稿
2015/08/19 职场文书