"1" , 1 => "png"] //源文件的后缀 $extension = end($arr_name); //png /** * 判断上传文件是否合法 * 判断截取上传文件名是否为 * jpeg,jpg,png其中之一 */ if (!in_array($extension, array("jpeg", "jpg", "png", "PNG", "JPG", "JPEG","pdf","PDF","XLS","xls","doc","DOC","docx","xlsx"))) { return show(-2, '上传文件不合法'); } // try { // validate(['file' => ['fileSize:2*1024*1024']])->check(['file' => $file]); // } catch (ValidateException $e) { // $return['msg'] = $e->getMessage(); // // } //新的文件名 $new_name = $name;//1.png //文件在OSS上的URL $url=config('upload.aliyun_oss_save_path_syjc').$new_name; //抛出异常 try{ //相比传统的操作,其实就多了两个步骤 //第一步是根据上面的参数实例化一个对象 $ossClient = new OssClient( config('upload.aliyun_oss_accessKeyId_syjc'), config('upload.aliyun_oss_accessKeySecret_syjc'), config('upload.aliyun_oss_endpoint_syjc') ); //这一步相当于之前把临时文件移入到设置的地址那步,只是以前的是自己的服务器上,现在是OSS; $result =$ossClient->uploadFile(config('upload.aliyun_oss_bucket_syjc'),$url,$tmp_name); //返回的参数 if (isset($result['info']['http_code']) AND $result['info']['http_code']==200) { $arr=[ 'fileName' => $new_name, 'fileUrl' => $result['info']['url'] ]; return showSuccess($arr); }else{ return show('3', '上传失败'); } } catch(OssException $e) { return config($e->getCode(), $e->getMessage()); } } }