ITPub博客

首页 > 应用开发 > IT综合 > ThinkPHP6 上传图片代码demo

ThinkPHP6 上传图片代码demo

原创 IT综合 作者:33130317 时间:2020-06-23 23:23:15 0 删除 编辑

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

èåå客

HTML部分代码

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

JS部分代码

$(document).ready(function(){
    var input = $("#imgFile");
    // 将上传按钮绑定到input['file']上    $("#uploadBtn").click(function(){
        input.trigger("click");
    });
    input.change(function () {
        // 如果value不为空,调用文件加载方法        if ($(this).val() !== "") {
            doUpload(this);
        }
    });
}); 
// 上传图片var SCOPE = {
    'uploadUrl': '{:url("' + urlPath +'/upload")}',
};function doUpload() {
    var formData = new FormData($( "#myform" )[0]),
        appendDiv = $("#uploadImage"),
        imageUrl = '',
        imageDiv = '';
    $.ajax({
        url: SCOPE.uploadUrl ,
        type: 'POST',
        data: formData,
        async: false,
        cache: false,
        contentType: false,
        processData: false,
        success: function (result) {
            if(result.status === 1){
                appendDiv.empty();
                imageUrl = '/storage/' + result.data;
                imageDiv = '';
                appendDiv.append(imageDiv);
            }
        },
    });
}

ThinkPHP中的上传方法

/**
 * 图片上传(ajax)
 * @return \think\Response|void
 * @throws \Exception
 */
public function upload()
{
    // 获取表单上传文件 例如上传了001.jpg
    $file = request()->file('imgFile');
    try{
        // 验证
        validate(['imgFile'=>[
            'fileSize' => 410241024,
            'fileExt' => 'jpg,jpeg,png,bmp,gif',
            'fileMime' => 'image/jpeg,image/png,image/gif', //这个一定要加上,很重要我认为!
        ]])->check(['imgFile' => $file]);
 
        // 上传图片到本地服务器
        $saveName = \think\facade\Filesystem::disk('public')->putFile( 'merchant', $file, 'data');
        $this->result(1, '图片上传成功!', $saveName, 'json');
    } catch (\Exception $e) {
        // 验证失败 输出错误信息
        return $this->exceptionHandle($e,
            '图片上传失败!' . $e->getMessage(),
            'json',
            '');
    }
}

本文转载自老刘博客, 转载请注明出处,谢谢!
http://laoliu.pro/php/15.html


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16268792/viewspace-2700351/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2019-02-14

  • 博文量
    2
  • 访问量
    2997