用的TP5.1框架+jquery

一 使用form表单方式进行多图片上传

html代码:

 <form action="../admin/admin/cs" enctype="multipart/form-data" method="post">
<input type="file" name="image[]" /> <br>
<input type="file" name="image[]" /> <br>
<input type="file" name="image[]" /> <br>
<input type="button" value="上传" id="imgbtn"/>
</form>

  ../admin/admin/cs的PHP代码:


public function cs()
{
// 获取表单上传文件
$files = request()->file('image'); $file_path = ENV::get('root_path') . 'public/ab'; !file_exists($file_path) && mkdir($file_path, 0755, true); foreach($files as $file){ //move后面加个'',代表使用图片原文件名,不用则生成随即文件名可
$info = $file->move($file_path, ''); if(!$info) echo $file->getError();
}
}

二 使用file的多文件上传属性进行多图片上传

html代码:

<input type="file" accept="image/*" multiple="multiple" onchange="upload(this)"/>

jquery代码:

let fd = new FormData();

function upload(_this) {

    let filelist = _this.files;

    let l = filelist.length;
  
  //循环将文件全部追加到fd中
for(i = 0; i < l; i++) fd.append("image[]", filelist[i]); $.ajax({
type: "POST",
url: "../admin/admin/cs", //这个PHP代码还是上面那个
data: fd,
processData : false,
contentType : false,
success: function(res){
console.log(res);
}
});
}

  

我选了3个文件,分别是03.jpg     04.jpg      05.jpg

选好之后显示3个文件,文件夹中也成功添加了3个对应的文件,我帮你们看了下,确实是刚才选择的那3张图片

三 利用多个file类型input进行ajax无刷新上传

html代码:

<input type="file" accept="image/*"  onchange="upload(this)"/>
<input type="file" accept="image/*" onchange="upload(this)"/>
<input type="file" accept="image/*" onchange="upload(this)"/>
<input type="button" id="btn" value="上传">

query代码:

    let fd = new FormData();

    function upload(_this) {
     //上面是多个文件,这里是一个文件,所以在files后面加个[0]
fd.append("image[]", _this.files[0])
}; $('#btn').click(() =>{
$.ajax({
type: "POST",
url: "../admin/admin/cs", //还是之前那个PHP代码
data: fd,
processData : false,
contentType : false,
success: function(res){ console.log(res);
}
});
})

  

四 这是我在平时项目开发中使用过的,现在进行一个总结,希望能帮到各位

TP框架配合jquery进行3种方式的多图片上传的更多相关文章

  1. ckeditor文本对齐方式添加,图片上传

    最近用的AdminBSBMaterialDesign-master模板,里边用到了ckeditor编辑器 但发现里边没有基本的文本对齐方式,找了好一会,好多方法都不管用,最后在config.js中添加 ...

  2. Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用

    1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...

  3. springMVC两种方式实现多文件上传及效率比较

    springMVC实现 多文件上传的方式有两种,一种是我们经常使用的以字节流的方式进行文件上传,另外一种是使用springMVC包装好的解析器进行上传.这两种方式对于实 现多文件上传效率上却有着很大的 ...

  4. HTML5+Canvas+jQuery调用手机拍照功能实现图片上传(二)

    上一篇仅仅讲到前台操作,这篇专门涉及到Java后台处理.前台通过Ajax提交将Base64编码过的图片数据信息传到Java后台,然后Java这边进行接收处理.通过对图片数据信息进行Base64解码,之 ...

  5. 第二百五十九节,Tornado框架-模板语言的三种方式

    Tornado框架-模板语言的三种方式 模板语言就是可以在html页面,接收逻辑处理的self.render()方法传输的变量,将数据渲染到对应的地方 一.接收值渲染 {{...}}接收self.re ...

  6. golang学习之beego框架配合easyui实现增删改查及图片上传

    golang学习之beego框架配合easyui实现增删改查及图片上传 demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: <!DO ...

  7. vue路由传参的三种方式以及解决vue路由传参页面刷新参数丢失问题

    最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...

  8. 使用 JavaScript 的 HTML 页面混合、JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出“点击我进入到百度首页”的超链接

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 的 HTML 页面混合.JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出"点击我进 ...

  9. jquery 图片上传本地预览V1.2

    基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持safari 代码进行小小的压缩 如果看源码 自己解压就行了 版本已升级  修复jquery版本问题  支持任意jqu ...

随机推荐

  1. Nginx使用GeoIP模块来限制地区访问

    举例比如限制泰国地区的IP访问: 前提条件,安装了http geoip 或stream geoip模块的Nginx Plus或者开源nginx Maxmind的GeoLite Legacy数据库 1. ...

  2. ssh-agent代理的简单用法

    前言 在ansible的官方文档中,提到了强烈推荐用ssh-agent来管理密钥 究竟ssh-agent是什么,它有什么用法呢,下面来一探究竟. ssh-agent是什么?用处是什么? ssh-age ...

  3. 【LeetCode】5# 最长回文子串

    题目描述 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" 注意 ...

  4. Java中存储金额用什么数据类型

    Java面试高频问题:你会用什么数据类型来存储金额? 如果这个时候你回答float,double那么恭喜你,又可以省出时间来准备别的公司的面试了,当面试官说float,和double不行的时候你可能还 ...

  5. Springboot国际化信息(i18n)解析

    国际化信息理解 国际化信息也称为本地化信息 . Java 通过 java.util.Locale 类来表示本地化对象,它通过 “语言类型” 和 “国家/地区” 来创建一个确定的本地化对象 .举个例子吧 ...

  6. jstat虚拟机统计信息监视工具

    jstsat(JVM Statistics Monitoring Tool) jstat用于监视虚拟机各种运行状态信息的命令工具.可以显示本地或者远程虚拟机进程中的类装载.内存.垃圾收集.JIT编译等 ...

  7. 原创 | 手摸手带您学会 Elasticsearch 单机、集群、插件安装(图文教程)

    欢迎关注笔者的公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习.面试资源哟!! 个人网站: https://www.exception.site/ ...

  8. 混合事务分析处理“HTAP”的技术要点分析

    HTAP是近些年来比较火的一个概念,本文将聊聊HTAP的前世今生及技术特点. 一.数据应用类别 根据数据的使用特征,可简单做如下划分.在选择技术平台之前,我们需要做好这样的定位. 1.1 OLTP 联 ...

  9. [LeetCode]singleNumber

    题目:singleNumber Given an array of integers, every element appears twice except for one. Find that si ...

  10. 解决commBind: Cannot bind socket FD 18 to [::1]: (99) Cannot assign requested address squid

    最近玩squid主要是为了爬虫代理,但是使用docker搭建squid的时候发现,docker一直默认使用的 ipv6,但是squid使用ipv4,导致无法绑定,出现commBind: Cannot ...