thinkphp ajaxfileupload实现异步上传图片的示例
发布时间 - 2026-01-11 02:59:27 点击率:次thinkphp开发图片上传,图片异步上传是目前比较方便的功能,这里我就不写css文件了,将代码写出来。引入核心文件下载https://github.com/carlcarl/A...

HTML
下面首先在html页面引入相关js资源
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图片上传</title> <script type="text/javascript" src="js/jquery-1.8.2.min.js"></script> <script type="text/javascript" src="js/ajaxfileupload.js"></script> </head> <body> </body> </html>
接下来在body中创建相关div
<label class="title w100">封面图片:</label> <div class="f_l"> <label class="fileupload" onclick="upd_file(this,'image_file');"> <input type="file" class="filebox" name="image_file" id="image_file"/> <!--上传成功后图片会给value赋值图片路径,以便于form表单提交数据--> <input type="hidden" name="image" value=""> </label> <label class="fileuploading hide" ></label> </div> <div class="blank15"></div> <!--上传成功后图片会在这里显示否则是默认图片--> <img id="image" src="/Public/images/empty_thumb.gif" />
解释一下:
其中upd_file(this,'image_file')不可缺少
其中隐藏的input 是用于上传成功后赋值图片路径,以便于form表单提交数据
接下来在html中编辑javascript脚本以便于传递和提交图片功能
<script>
function upd_file(obj,file_id){
$("input[name='"+file_id+"']").bind("change",function(){
$(obj).hide();
$(obj).parent().find(".fileuploading").removeClass("hide");
$(obj).parent().find(".fileuploading").removeClass("show");
$(obj).parent().find(".fileuploading").addClass("show");
$.ajaxFileUpload
(
{
url:'/index.php/home/avatar/app_upload_image',//上传图片处理文件
secureuri:false,
fileElementId:file_id,
dataType: 'json',
success: function (data, status)
{
$(obj).show();
$(obj).parent().find(".fileuploading").removeClass("hide");
$(obj).parent().find(".fileuploading").removeClass("show");
$(obj).parent().find(".fileuploading").addClass("hide");
if(data.status==1)
{
$("#image").attr("src",data.thumb_url+"?r="+Math.random());
$("input[name='image']").val(data.url);//返回json后将隐藏input赋值
//$("#img_url").html('<input type="hidden" name="img_url" value="'+ path.path +'" />');
}
else
{
$.showErr(data.msg);
}
},
error: function (data, status, e)
{
$.showErr(data.responseText);;
$(obj).show();
$(obj).parent().find(".fileuploading").removeClass("hide");
$(obj).parent().find(".fileuploading").removeClass("show");
$(obj).parent().find(".fileuploading").addClass("hide");
}
}
);
$("input[name='"+file_id+"']").unbind("change");
});
}
<script>
thikphp 中创建方法 app_upload_image()
function app_upload_image($maxSize=52428800){
$id=session('id');
$config=array(
'rootPath' =>'Upload', //文件上传保存的根路径
'savePath' =>'/avatar/',
'exts' => array('jpg', 'gif', 'png', 'jpeg','bmp'),
'maxSize' => $maxSize,
'autoSub' => true,
);
$upload = new \Think\Upload($config);// 实例化上传类
$z = $upload->uploadOne($_FILES['image_file']);
if($z) {
//拼接图片的路径名
$img='/Upload'.$z['savepath'].$z['savename'];
$_POST['image_file']=$img;
//获取上传图片绝对路径
$imgsrc=$_SERVER['DOCUMENT_ROOT'].__ROOT__.$_POST['image_file'];
$image = new \Think\Image();
$image->open($imgsrc);
//将图片裁剪为400x400并保存为corp.jpg
$image->thumb(205, 160,\Think\Image::IMAGE_THUMB_CENTER)->save($imgsrc);
$this->ajaxReturn(array("thumb_url"=>$img,"url"=>$img,"status"=>1));
}
}
OK这样就好了,首先和大家说一下,如果ajaxfileupload.js报错程序是不会跑通的,如果你的程序报错就检查你的ajaxfileupload文件是不是版本的问题
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# thinkphp
# ajaxfileupload
# 异步
# 异步上传
# TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
# thinkphp3.2实现上传图片的控制器方法
# thinkPHP利用ajax异步上传图片并显示、删除的示例
# thinkphp5上传图片及生成缩略图公共方法(分享)
# thinkPHP实现上传图片及生成缩略图功能示例
# 使用ThinkPHP+Uploadify实现图片上传功能
# ThinkPHP实现图片上传操作的方法详解
# thinkphp jquery实现图片上传和预览效果
# 基于ThinkPHP5.0实现图片上传插件
# ThinkPHP5+Layui实现图片上传加预览功能
# ThinkPHP5.0 图片上传生成缩略图实例代码说明
# TP框架实现上传一张图片和批量上传图片的方法分析
# 上传
# 报错
# 表单
# 图片上传
# 我就
# 则是
# 会在
# 会给
# 后将
# 先在
# 上传图片
# 大家多多
# 不写
# 保存为
# 文件上传
# 图片处理
# 就好了
# 是目前
# file
# id
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
文字头像制作网站推荐软件,醒图能自动配文字吗?
Laravel用户密码怎么加密_Laravel Hash门面使用教程
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
深圳网站制作培训,深圳哪些招聘网站比较好?
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
如何快速搭建个人网站并优化SEO?
电商网站制作价格怎么算,网上拍卖流程以及规则?
如何在万网开始建站?分步指南解析
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
如何用美橙互联一键搭建多站合一网站?
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
如何在服务器上三步完成建站并提升流量?
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
如何确保FTP站点访问权限与数据传输安全?
公司门户网站制作流程,华为官网怎么做?
LinuxShell函数封装方法_脚本复用设计思路【教程】
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何在云主机上快速搭建网站?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
昵图网官方站入口 昵图网素材图库官网入口
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
如何有效防御Web建站篡改攻击?
网站制作免费,什么网站能看正片电影?
如何在景安服务器上快速搭建个人网站?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
,在苏州找工作,上哪个网站比较好?
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
Laravel如何配置Horizon来管理队列?(安装和使用)
Python进程池调度策略_任务分发说明【指导】
如何快速生成可下载的建站源码工具?
Android Socket接口实现即时通讯实例代码
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
清除minerd进程的简单方法
如何在IIS中新建站点并配置端口与IP地址?
香港服务器部署网站为何提示未备案?
香港服务器租用每月最低只需15元?
jQuery中的100个技巧汇总
Laravel如何记录自定义日志?(Log频道配置)
如何自定义建站之星网站的导航菜单样式?
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
iOS中将个别页面强制横屏其他页面竖屏
高防服务器租用首荐平台,企业级优惠套餐快速部署
开心动漫网站制作软件下载,十分开心动画为何停播?
焦点电影公司作品,电影焦点结局是什么?
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置

