热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信官方weUI.jsuploader如何实现图片上传保存服务器文件内?

做一个前端传后台的一个操作;WEUI.js的uploader能否随from表单一起提交到后台?后台$_FILES接收不了文件信息

做一个前端传后台的一个操作;WEUI.js 的uploader 能否随from表单一起提交到后台? 后台$_FILES 接收不了文件信息



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/**

 * uploader 上传组件

 * @param {string} selector 上传组件的selector

 * @param {object} options 配置项

 * @param {string} [options.url] 上传的url,返回值需要使用json格式

 * @param {boolean} [options.auto=true] 设置为`true`后,不需要手动调用上传,有文件选择即开始上传。用this.upload()来上传,详情请看example

 * @param {string} [options.type=file] 上传类型, `file`为文件上传; `base64`为以base64上传

 * @param {string=} [options.fileVal=file] 文件上传域的name

 * @param {object=} [options.compress] 压缩配置, `false`则不压缩

 * @param {number=} [options.compress.#uploaderCustom', {

       auto: false,

       type: 'file',

       fileVal: 'customize_img',

       compress: {

           width: 1600,

           height: 1600,

           quality: 1

       },

       onBeforeQueued: function(files) {

           // `this` 是轮询到的文件, `files` 是所有文件

   

           if(["image/jpg", "image/jpeg", "image/png", "image/gif"].indexOf(this.type) <0){

               weui.alert('请上传图片');

               return false; // 阻止文件添加

           }

           if(this.size > 10 * 1024 * 1024){

               weui.alert('请上传不超过10M的图片');

               return false;

           }

           if (files.length > 5) { // 防止一下子选择过多文件

               weui.alert('最多只能上传1张图片,请重新选择');

               return false;

           }

           if (uploadCount + 1 > 2) {

               weui.alert('最多只能上传1张图片');

               return false;

           }

   

           ++uploadCount;

   

           // return true; // 阻止默认行为,不插入预览图的框架

       },

       onQueued: function (){

            console.log(this);

               uploadCustomFileList.push(this);

           // console.log(this.status); // 文件的状态:'ready', 'progress', 'success', 'fail'

           // console.log(this.base64); // 如果是base64上传,file.base64可以获得文件的base64

   

           // this.upload(); // 如果是手动上传,这里可以通过调用upload来实现;也可以用它来实现重传。

           // this.stop(); // 中断上传

   

           // return true; // 阻止默认行为,不显示预览图的图像

       },

       onBeforeSend: function(data, headers){

           console.log(this, data, headers);

           // $.extend(data, { test: 1 }); // 可以扩展此对象来控制上传参数

           // $.extend(headers, { Origin: 'http://127.0.0.1' }); // 可以扩展此对象来控制上传头部

   

           // return false; // 阻止文件上传

       },

       onProgress: function(procent){

           console.log(this, procent);

           // return true; // 阻止默认行为,不使用默认的进度显示

       },

       onSuccess: function (ret) {

           console.log(this, ret);

           // return true; // 阻止默认行为,不使用默认的成功态

       },

       onError: function(err){

           console.log(this, err);

           // return true; // 阻止默认行为,不使用默认的失败态

       }

    });

// 手动上传按钮

document.getElementById("uploaderCustomBtn").addEventListener('click', function () {

    uploadCustomFileList.forEach(function (file) {

        file.upload();

    });

});



// 缩略图预览

document.querySelector('#uploaderCustomFiles').addEventListener('click', function (e) {

    var target = e.target;



    while (!target.classList.contains('weui-uploader__file') && target) {

        target = target.parentNode;

    }

    if (!target) return;



    var url = target.getAttribute('style') || '';

    var id = target.getAttribute('id');



    if (url) {

        url = url.match(/url\((.*?)\)/)[1];

    }

    var gallery = weui.gallery(url, {

        onDelete: function onDelete() {

            weui.confirm('确定删除该图片?', function () {

                var index;

                for (var i = 0, len = uploadCustomFileList.length; i
                    var file = uploadCustomFileList[i];

                    if (file.id == id) {

                        index = i;

                        break;

                    }

                }

                if (index) uploadCustomFileList.splice(index, 1);



                target.remove();

                uploadCount = uploadCount-1;

                gallery.hide();

            });

        }

    });

});



   



推荐阅读
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • Python基础知识:注释、输出和input交互
    本文介绍了Python基础知识,包括注释的使用、输出函数print的用法以及input函数的交互功能。其中涉及到字符串和整数的类型转换等内容。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • 获取时间的函数js代码,js获取时区代码
    本文目录一览:1、js获取服务器时间(动态)2 ... [详细]
author-avatar
莫名2602913353
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有