当前位置: 首页 > news >正文

thinkphp5实现ajax图片上传,压缩保存到服务器

<div class="warp"><input type="file" id="file"  accept="image/*" onchange="upimg(this)" /></div>
<img src="" />
<script>//上传图片方法function upimg(obj){var fileData = obj.files[0];//这是我们上传的文件console.log(fileData)var formData = new FormData();// 服务端要求参数是 pic1formData.append('image',fileData);$.ajax({url:"{:url('user/upmemberphoto')}",type:'post',data:formData,cache: false, //上传文件不需要缓存processData: false, // 告诉jQuery不要去处理发送的数据contentType: false, // 告诉jQuery不要去设置Content-Type请求头success:function(data){console.log(data);// 设置图片预览功能$('.head-img').attr('src',data.picAddr);}})}
</script>

thinkphp压缩图片插件官方地址
使用Composer安装ThinkPHP5的图像处理类库:

composer require topthink/think-image

    //上传会员照片接口public function upmemberphoto(){// 获取上传文件$file =  request()->file('image');$url=ROOT_PATH.'/public/uploads/member';// 移动到本地服务器==这个是保存原图$info = $file->move($url);if ($info) {$tempstr=$info->getSaveName();$tempstr=str_replace("\\","/",$tempstr);$imgurl=$url.'/'.$tempstr;// 按照原图的比例生成一个最大为320*320的缩略图并保存为thumb.png==这个是压缩后保存$image = \think\Image::open($imgurl);$image->thumb(320,320)->save($imgurl);return ['code' => 200, 'message' =>'上传成功','data'=>'/uploads/member/'.$tempstr];} else {// 文件上传失败return ['code' => 400, 'message' => '上传失败'];}}
http://www.lryc.cn/news/184506.html

相关文章:

  • 王道考研计算机网络——传输层
  • 08 集群参数配置(下)
  • mac文件为什么不能拖进U盘?
  • RK3568的CAN驱动适配
  • Opengl之立方体贴图
  • EF Core报错:Error Number:-2146893019
  • QT之可自由折叠和展开的布局
  • javascript二维数组(7)数组指定元素求和
  • 网络安全——黑客自学(笔记)
  • Docker 安装 Elasticsearch7.16.x
  • springmvc-controller视图层配置SpringMVC处理请求的流程
  • 三模块七电平级联H桥整流器电压平衡控制策略Simulink仿真
  • 【window10】Dart+Android Studio+Flutter安装及运行
  • 【C++】运算符重载 ⑩ ( 下标 [] 运算符重载 | 函数原型 int operator[](int i) | 完整代码示例 )
  • ROS机械臂开发-开发环境搭建【一】
  • 深度思考rpc框架面经之五:rpc限流:rpc事务:tps测试
  • [AIGC] Java序列化利器 gson
  • VMware 虚拟机删除+重建
  • 环面上 FHE 的快速自举:LUT/Automata Blind Rotate
  • VScode配置文件launch.json 和 tasks.json配置项详细说明
  • DNSlog 注入简单笔记
  • HDLbits: Dualedge
  • 网络安全_黑客(自学)
  • AI 大框架分析基于python之TensorFlow(归一化处理,多类别分类的概率)
  • C++day01(QT简介、C++)
  • Web server failed to start. Port 8080 was already in use
  • new和malloc的区别
  • python:openpyxl 读取 Excel文件,显示在 wx.grid 表格中
  • 12P2532X152 KJ3222X1-BA1 CE4003S2B1 EMERSON DELTAV
  • P1014 [NOIP1999 普及组] Cantor 表