只是在亿恩和西部 就不能成功了,返回的都是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()]);
}这是不是还缺少什么组件呢?实在是弄了两天多都还没有搞出名堂。
最佳答案