用的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. Keras之注意力模型实现

    学习的一个github上的代码,分析了一下实现过程.代码下载链接:https://github.com/Choco31415/Attention_Network_With_Keras 代码的主要目标是 ...

  2. Go语言基础之并发

    并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因. Go语言中的并发编程 并发与并行 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天) ...

  3. InnoDB在MySQL默认隔离级别下解决幻读

    1.结论 在RR的隔离级别下,Innodb使用MVVC和next-key locks解决幻读,MVVC解决的是普通读(快照读)的幻读,next-key locks解决的是当前读情况下的幻读. 2.幻读 ...

  4. MySQL和mybatis查询相关

    0.mybatis的xml文件头 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapp ...

  5. Centos7 C++ 安装使用googletest单元测试

    废话不多说,直接开始吧. 环境说明 系统环境:centos7.0 g++ 版本: g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36) 查看方法: g++ -vers ...

  6. Tomcat运行机制

    Tomcat其实就是一个servlet的容器,因此,它在运行过程中,首先要做以下事情: 1.实现servlet api规范.如request.response.cookie.session等,容器对其 ...

  7. .Net基础篇_学习笔记_第六天_for循环语法_正序输出和倒序输出

    for TAB  和 forr TAB using System; using System.Collections.Generic; using System.Linq; using System. ...

  8. 浮动后的 <li> 如何在 <ul> 中居中显示?

    百度了许久都没有满意的解决方案,现在终于搞定了. 其实,只要 ul 的父元素 css 样式设了 text-align: center; 然后 ul 设了 display: inline-block; ...

  9. git报错,远程克隆和更新不下来解决方法

    报错: error: RPC failed; curl 18 transfer closed with outstanding read data remainingfatal: The remote ...

  10. WordPress安全防护攻略

    个人近期做了一个WordPress站点,目前处于内测阶段,虽然公网还没部署起来,但是先在这学习整理一下安全防护的问题. 第一:及时更新WordPress 由于33%的互联网都在使用WordPress站 ...