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 相关文章推荐
出现“不能执行已释放的Script代码”错误的原因及解决办法
Aug 29 Javascript
jQuery 自动增长的文本输入框实现代码
Apr 02 Javascript
关于JQuery($.load)事件的用法和分析
Apr 09 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
Jun 18 Javascript
js实现div层缓慢收缩与展开的方法
May 11 Javascript
jQuery代码实现发展历程时间轴特效
Jul 30 Javascript
JavaScript的函数式编程基础指南
Mar 19 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
Apr 08 Javascript
JS实现太极旋转思路分析
Dec 09 Javascript
微信小程序实现文字跑马灯效果
May 26 Javascript
react-native android状态栏的实现
Jun 15 Javascript
详解JVM系列之内存模型
Jun 10 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
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
介绍一些PHP判断变量的函数
2012/04/24 PHP
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
详谈PHP文件目录基础操作
2014/11/11 PHP
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
实例讲解PHP表单处理
2019/02/15 PHP
js类 from qq
2006/11/13 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
2013/07/01 Javascript
JavaScript函数的调用以及参数传递
2015/10/21 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
[00:28]DOTA2北京网鱼队选拔赛
2015/04/08 DOTA
Python程序中设置HTTP代理
2016/11/06 Python
linux查找当前python解释器的位置方法
2019/02/20 Python
Python3.5迭代器与生成器用法实例分析
2019/04/30 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
国际经济贸易专业推荐信
2013/11/06 职场文书
售前工程师职业生涯规划
2014/03/02 职场文书
移风易俗倡议书
2014/04/15 职场文书
工作推荐信范文
2014/05/10 职场文书
普通党员对照检查材料
2014/08/28 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
抄袭同学作业检讨书1000字
2014/11/20 职场文书
2014年度工作总结报告
2014/12/15 职场文书
教师节班会主持词
2015/07/06 职场文书
网吧温馨提示
2015/07/17 职场文书