ThinkPHP6上传图片代码demo是什么

这篇文章主要讲解了“ThinkPHP6上传图片代码demo是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ThinkPHP6上传图片代码demo是什么”吧!

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

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',
            '');
    }
}

感谢各位的阅读,以上就是“ThinkPHP6上传图片代码demo是什么”的内容了,经过本文的学习后,相信大家对ThinkPHP6上传图片代码demo是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/204575.html

(0)
上一篇 2021年11月29日
下一篇 2021年11月29日

相关推荐

发表回复

登录后才能评论