JS form表单图片上传 - LiuYier

zsongs 2021-11-01 原文


JS form表单图片上传


 1 // 点击file 类型的input 触发的方法
 2 
 3 function changesProvider(){
 4 
 5   // fileProvider -> input中的name属性值 
 6 
 7   var f = document.getElementByName("fileProvider")[0].files;
 8 
 9   // 图片大小判断
10 
11   if( f[0].size. > 1024*3*1024 ){
12 
13        // 清空form表单中的结构
14 
15     $("#formBoxProvider").children.remove();
16 
17     // 把原先得结构重新动态添加进去
18 
19     $("#formBoxProvider").append( "<label for=\'uploadProvider\' class=\'label_bg\'></label><input id=\'uploadProvider\' onchange=\'changesProvider()\' name=\'fileProvider\' type=\'file\' accept=\'.jpg, .jpeg, .png\'>" );
20 
21     message({
22 
23       type: "error",
24 
25       message: "图片文件不能大于3M"
26 
27     })
28 
29     return false;
30 
31   }
32 
33      //先new一个formData对象
34 
35   var formData = new FormData( $("#formBoxProvider")[0] );
36 
37   //ajax交互
38 
39    $.ajax({
40 
41     type: \'POST\',
42 
43     url: \'${pageContext.request.contextPath}\' + \'serve/provider/image/upload.shtml\',
44 
45     data: formData,
46 
47     contentType: false,
48 
49     processData: false,
50 
51     success: function (data) {
52 
53       if( data.errno == 1 ){
54 
55         // 成功必须再次清空form表单中的DOM结构
56 
57          // 清空form表单中的结构
58 
59         $("#formBoxProvider").children.remove();
60 
61         // 把原先得结构重新动态添加进去
62 
63         $("#formBoxProvider").append( "<label for=\'uploadProvider\' class=\'label_bg\'></label><input id=\'uploadProvider\' onchange=\'changesProvider()\' name=\'fileProvider\' type=\'file\' accept=\'.jpg, .jpeg, .png\'>" );
64 
65         var imagePath = imageUrl + data.data;
66 
67         //盒子中具体图片元素
68         var imageItem = "<div class=\'item-box\'><span class=\'detele_sign\'><img class=\'pImage\' src=\'" + imagePath + "\'></span></div>";
69         #("upload-sign").before(imageItem);
70         $(".detele_sign").on("click", function(){
71 
72                $(this).parents(\'.item-box\').remove(); 
73 
74           if($(\'.item-box\').length < 7 ){
75 
76             $("#upload-sign").show();
77           } 
78 
79            });
80 
81         if($(\'.item-box\').length  == 7){
82 
83           $("#upload-sign").hide();
84         }  
85     }, //success end
86     error: function(data){
87 
88     }
89   }) //ajax end
90 
91 
92 
93 }

 

发表于
2016-10-11 18:36 
LiuYier 
阅读(5423
评论(0
编辑 
收藏 
举报

 

版权声明:本文为zsongs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zsongs/p/5950357.html

JS form表单图片上传 - LiuYier的更多相关文章

  1. C语言 sizeof函数详解 – rexienk

    C语言 sizeof函数详解 1. 定义:sizeof是何方神圣sizeof乃C/C++中的一个操作符(ope […]...

  2. 台式电脑Bios界面设置U盘启动 – 快乐糖果屋

    台式电脑Bios界面设置U盘启动        ...

  3. Hypervisor 还是container – madec

    Hypervisor 还是container 你喜欢用哪个,哪个更好?目前的观点是VMM的资源消耗太大,还是需 […]...

  4. PyTorch : torch.nn.xxx 和 torch.nn.functional.xxx

    PyTorch : torch.nn.xxx 和 torch.nn.functional.xxx 在写 PyT […]...

  5. 如何优雅地查看 JS 错误堆栈?

    本文由云+社区发表 在前端,我们经常会通过 window.onerror 事件来捕获未处理的异常。假设捕获了一 […]...

  6. 《UML和模式应用》学习笔记 – YoungBig

    《UML和模式应用》学习笔记 #UML和模式应用##一、绪论### 第1章 面向对象分析和设计#### 1.2 […]...

  7. [系列] go-gin-api 路由中间件 – Jaeger 链路追踪(五)

    概述 首先同步下项目概况: 上篇文章分享了,路由中间件 – 捕获异常,这篇文章咱们分享:路由中间件 […]...

  8. 封装captcha类 — 画图四 – LiuYier

    封装captcha类 — 画图四 <?php // 验证码类 class Captcha{ […]...

随机推荐

  1. WPF使用自定义Main函数

    一、自定义Main函数 在WPF中,我们添加一个Program静态类,添加一个Main静态方法,需要注意的是该 […]...

  2. 运用阿里图标库到自己的项目中—实例

    1 . 登录图标库  在iconfont官网搜索自己需要的图标名称(例如:搜索) 2 . 鼠标放在自己选中的图 […]...

  3. 金融风控100道面试题:传统银行开发转行互金top3公司并年薪40多万

    知乎上有一个50万人看过的问题“为什么自学Python看不进去?”,其实原因很简单,大家缺乏能动手实战的机会。 […]...

  4. JAVA中pdf转图片的方法

      JAVA中实现pdf转图片可以通过第三方提供的架包,这里介绍几种常用的,可以根据自身需求选择使用。 一、i […]...

  5. 【python】关于min()函数和max()函数的内在原理

    假如给你一个纯数字的列表,让你求出它的最大值和最小值,你会怎么办呢? 在这里我想到了两种方法:   第一种就是 […]...

  6. 力软工作流:协同OA精准化采购平台自主搭建

                如今,OA工作流已经深入到企业的各个方面,对企业的信息化建设提供了重要的便利。     […]...

  7. 某移动端防作弊产品技术原理浅析与个人方案构想

    由于时间和水平有限,本文会存在诸多不足,希望得到您的及时反馈与指正,多谢! 工具环境: android4.4. […]...

  8. H3C模拟器单臂路由配置实例

    单臂路由:用802.1Q和子接口实现VLAN间路由 单臂路由利用trunk链路允许多个VLAN的数据帧通过而实 […]...

展开目录

目录导航