• ThinkPHP6 上传图片代码demo


    本文展示了ThinkPHP6 上传图片代码demo, 代码亲测可用.

     

    HTML部分代码

     1 <tr>
     2     <th class="font-size-sm" style="15%;height:100px;">商品图片</th>
     3     <td>
     4         <div class="custom-file">
     5             <div id="uploadImage" style="100px;height:100px;display: inline;"></div>
     6             <button id="uploadBtn" class="btn btn-outline-info font-size-sm">选择图片</button>
     7             <input type="file" name="imgFile" id="imgFile" style="display: none;">
     8         </div>
     9     </td>
    10 </tr>

    JS部分代码

     1 $(document).ready(function(){
     2     var input = $("#imgFile");
     3     // 将上传按钮绑定到input['file']上
     4     $("#uploadBtn").click(function(){
     5         input.trigger("click");
     6     });
     7     input.change(function () {
     8         // 如果value不为空,调用文件加载方法
     9         if ($(this).val() !== "") {
    10             doUpload(this);
    11         }
    12     });
    13 });
    14  
    15 // 上传图片
    16 var SCOPE = {
    17     'uploadUrl': '{:url("' + urlPath +'/upload")}',
    18 };
    19 function doUpload() {
    20     var formData = new FormData($( "#myform" )[0]),
    21         appendDiv = $("#uploadImage"),
    22         imageUrl = '',
    23         imageDiv = '';
    24     $.ajax({
    25         url: SCOPE.uploadUrl ,
    26         type: 'POST',
    27         data: formData,
    28         async: false,
    29         cache: false,
    30         contentType: false,
    31         processData: false,
    32         success: function (result) {
    33             if(result.status === 1){
    34                 appendDiv.empty();
    35                 imageUrl = '/storage/' + result.data;
    36                 imageDiv = '';
    37                 appendDiv.append(imageDiv);
    38             }
    39         },
    40     });
    41 }

    ThinkPHP中的上传方法

     1 /**
     2  * 图片上传(ajax)
     3  * @return 	hinkResponse|void
     4  * @throws Exception
     5  */
     6 public function upload()
     7 {
     8     // 获取表单上传文件 例如上传了001.jpg
     9     $file = request()->file('imgFile');
    10     try{
    11         // 验证
    12         validate(['imgFile'=>[
    13             'fileSize' => 410241024,
    14             'fileExt' => 'jpg,jpeg,png,bmp,gif',
    15             'fileMime' => 'image/jpeg,image/png,image/gif', //这个一定要加上,很重要我认为!
    16         ]])->check(['imgFile' => $file]);
    17  
    18         // 上传图片到本地服务器
    19         $saveName = 	hinkfacadeFilesystem::disk('public')->putFile( 'merchant', $file, 'data');
    20         $this->result(1, '图片上传成功!', $saveName, 'json');
    21     } catch (Exception $e) {
    22         // 验证失败 输出错误信息
    23         return $this->exceptionHandle($e,
    24             '图片上传失败!' . $e->getMessage(),
    25             'json',
    26             '');
    27     }
    28 }

    本文转载自老刘博客, 转载请注明出处,谢谢!

    http://laoliu.pro/php/15.html
    ————————————————
    版权声明:本文为CSDN博主「老刘pro」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/a33130317/article/details/106933622

  • 相关阅读:
    Best Practices for Using Alpha
    Android手机 Fildder真机抓包
    Android调用MediaScanner进行新产生的媒体文件扫描
    读书笔记-----Java并发编程实战(二)对象的共享
    项目经验谈---IM新消息界面刷新异常处理记录
    读书笔记-----Java并发编程实战(一)线程安全性
    OnScroll与OnTouchEvent方法的区别与联系
    View的getLeft, getRight, getTop, getBottom
    如何用DNS+GeoIP+Nginx+Varnish做世界级的CDN
    更改ubuntu mysql data目录位置
  • 原文地址:https://www.cnblogs.com/mclaoliu/p/13185338.html
Copyright © 2020-2023  润新知