laravel+ajax 上传图片

在整理项目中遇到一个上传图片的功能,搜索了很长时间终于整明白了,小编能力有限,话不多说下边开始分享内容

第一步:

App\Http\Middleware\VerifyCsrfToken.php
修改(17行代码)

return parent::handle($request, $next);

return parent::addCookieToResponse($request, $next($request));   //屏蔽token验证为cookie



第二步:
在头部引入
<script type="text/javascript" src="{{ asset('assets/js/ajaxfileupload.js') }}"></script>


function ajaxFileUpload()         //修改js文件
{
    $.ajaxFileUpload
    (
        {
            url:'ULR', //处理上传文件的服务端
            secureuri:false,
            fileElementId:'doc-form-file',
            dataType: 'json',
            success: function (data)
            {
                console.log(data);  //上传成功,请填写自己需要的处理
            }
        }
    )
    return false;
}

第三步:


laravel 中填写上传代码


function upload(){

$thumb=$request->file('thumb');
$allowed_extensions = ["png", "jpg", "gif",'jpeg','gif'];  //验证图片的类型
if ($thumb->getClientOriginalExtension() && !in_array($thumb->getClientOriginalExtension(), $allowed_extensions)) {
return ['error' => 'You may only upload png, jpg or gif.'];
}
$destinationPath = 'storage/uploads/'; //public 文件夹下面建 storage/uploads 文件夹
$extension = $thumb->getClientOriginalExtension();
$fileName = str_random(10).'.'.$extension; //设置文件名称
$thumb->move($destinationPath, $fileName);  //移动文件到对应位置
$filePath = asset($destinationPath.$fileName);  //上传成功返回图片访问地址
if($filePath){
ajax_return('0',$filePath);  //成功
}else{
ajax_return('-1',$filePath);//失败
}

}


猜你喜欢

转载自blog.csdn.net/a727574771/article/details/78583394