【求助】TP5的上传类读取不出getSaveName

浏览:5321 发布日期:2016/10/11 分类:ThinkPHP5专区
在本地测试 可以上传成功,以及在阿里云测试的时候也都是可以成功。
只是在亿恩和西部 就不能成功了,返回的都是500,执行到$getSaveName = $info->getSaveName(); //每次执行到这就出错返回信息:getSaveName() 没有这个鬼玩意。。。Call to a member function getSaveName() on a non-object我用的是ajax 上传:var formData = new FormData();
            formData.append('file', $('#file')[0].files[0]);
            $.ajax({
                url: "{:Url('article/ImageThumd')}",
                type: 'POST',
                cache: false,
                data: formData,
                processData: false,
                contentType: false,
                success: function (returndata) {
                    if (returndata.code == 1) {
                        document.getElementById("imageurl").value=returndata.data.image;//赋值
                        document.getElementById("thumdurl").value=returndata.data.thumd;//赋值
                        var uploadForm_url=document.getElementById("uploadForm_url");//赋值
                        uploadForm_url.src=returndata.data.image;//赋值
                        uploadForm_url.style.display="block";//赋值
                        document.getElementById("file").value="";//清空
                    } else {
                        x0p('Message', returndata.message, 'error', false);
                        document.getElementById("file").value="";//清空
                    }
                },
            });
后端接收如下:$file = request()->file('file');
            if (empty($file)) {
                return $this->error('未选择文件');
            }
            //允许上传类型
            $file = $file->validate([
                //'type' => 'image/jpeg,image/gif,image/png', //文件头
                'ext'  => 'jpeg,jpg,png,gif', //后缀格式
                'size' => 3 * 1024 * 1024, //3M大小
            ]);
            //目录地址
            //$uploads = ROOT_PATH.'public'.DS.'uploads'.DS.'image';
            $uploads = './uploads/image';
            // 移动到框架应用根目录/public/uploads/ 目录下
            $info = $file->move($uploads.DS);
            $getSaveName = $info->getSaveName();
            $SaveName = DS.'uploads'.DS.'image'.DS.$getSaveName; //带日期图片地址
            $Filename = $info->getFilename(); //图片地址  然后每次执行到这都出错
            // 开始图片处理
            $Think_Image = \think\Image::open('.'.$SaveName);
            //按照原图的比例生成缩略图
            $thumd = $Think_Image->thumb(190, 120)->save('./uploads/thumd/thumd_'.$Filename);
            if($info) {
                // 输出 格式 echo $info->getExtension();
                $data = ['image'=>$SaveName,'thumd'=>DS.'uploads'.DS.'thumd'.DS.'thumd_'.$Filename];
                return json(['data'=>$data,'code'=>1,'message'=>$info->getExtension() . '格式上传成功']);
            }else{
                // 上传错误提示错误信息
                return json(['code'=>0,'message'=>$file->getError()]);
            }
这是不是还缺少什么组件呢?
实在是弄了两天多都还没有搞出名堂。




最佳答案
评论( 相关
后面还有条评论,点击查看>>