TP框架配合jquery进行3种方式的多图片上传
用的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种方式的多图片上传的更多相关文章
- ckeditor文本对齐方式添加,图片上传
最近用的AdminBSBMaterialDesign-master模板,里边用到了ckeditor编辑器 但发现里边没有基本的文本对齐方式,找了好一会,好多方法都不管用,最后在config.js中添加 ...
- Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用
1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...
- springMVC两种方式实现多文件上传及效率比较
springMVC实现 多文件上传的方式有两种,一种是我们经常使用的以字节流的方式进行文件上传,另外一种是使用springMVC包装好的解析器进行上传.这两种方式对于实 现多文件上传效率上却有着很大的 ...
- HTML5+Canvas+jQuery调用手机拍照功能实现图片上传(二)
上一篇仅仅讲到前台操作,这篇专门涉及到Java后台处理.前台通过Ajax提交将Base64编码过的图片数据信息传到Java后台,然后Java这边进行接收处理.通过对图片数据信息进行Base64解码,之 ...
- 第二百五十九节,Tornado框架-模板语言的三种方式
Tornado框架-模板语言的三种方式 模板语言就是可以在html页面,接收逻辑处理的self.render()方法传输的变量,将数据渲染到对应的地方 一.接收值渲染 {{...}}接收self.re ...
- golang学习之beego框架配合easyui实现增删改查及图片上传
golang学习之beego框架配合easyui实现增删改查及图片上传 demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: <!DO ...
- vue路由传参的三种方式以及解决vue路由传参页面刷新参数丢失问题
最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...
- 使用 JavaScript 的 HTML 页面混合、JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出“点击我进入到百度首页”的超链接
查看本章节 查看作业目录 需求说明: 使用 JavaScript 的 HTML 页面混合.JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出"点击我进 ...
- jquery 图片上传本地预览V1.2
基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持safari 代码进行小小的压缩 如果看源码 自己解压就行了 版本已升级 修复jquery版本问题 支持任意jqu ...
随机推荐
- Keras之注意力模型实现
学习的一个github上的代码,分析了一下实现过程.代码下载链接:https://github.com/Choco31415/Attention_Network_With_Keras 代码的主要目标是 ...
- Go语言基础之并发
并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因. Go语言中的并发编程 并发与并行 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天) ...
- InnoDB在MySQL默认隔离级别下解决幻读
1.结论 在RR的隔离级别下,Innodb使用MVVC和next-key locks解决幻读,MVVC解决的是普通读(快照读)的幻读,next-key locks解决的是当前读情况下的幻读. 2.幻读 ...
- MySQL和mybatis查询相关
0.mybatis的xml文件头 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapp ...
- Centos7 C++ 安装使用googletest单元测试
废话不多说,直接开始吧. 环境说明 系统环境:centos7.0 g++ 版本: g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36) 查看方法: g++ -vers ...
- Tomcat运行机制
Tomcat其实就是一个servlet的容器,因此,它在运行过程中,首先要做以下事情: 1.实现servlet api规范.如request.response.cookie.session等,容器对其 ...
- .Net基础篇_学习笔记_第六天_for循环语法_正序输出和倒序输出
for TAB 和 forr TAB using System; using System.Collections.Generic; using System.Linq; using System. ...
- 浮动后的 <li> 如何在 <ul> 中居中显示?
百度了许久都没有满意的解决方案,现在终于搞定了. 其实,只要 ul 的父元素 css 样式设了 text-align: center; 然后 ul 设了 display: inline-block; ...
- git报错,远程克隆和更新不下来解决方法
报错: error: RPC failed; curl 18 transfer closed with outstanding read data remainingfatal: The remote ...
- WordPress安全防护攻略
个人近期做了一个WordPress站点,目前处于内测阶段,虽然公网还没部署起来,但是先在这学习整理一下安全防护的问题. 第一:及时更新WordPress 由于33%的互联网都在使用WordPress站 ...