php后端接口如何接收图片,并上传oss
2019-08-01 本文已影响1人
这个超人不会飞阿
/**
* Bin
* 2019.3.14
* 上传身份证的照片
* @param file $file [文件]
*/
public function uploadImgNoBase64Action() {
// oss的存储空间名称
$bucket = isset($_REQUEST['bucket']) ? $_REQUEST['bucket'] : '';
$accessKeyId = "*****就是不给你看******";
$accessKeySecret = "*******就是不给你看****";
// Endpoint以杭州为例,其它Region请按实际情况填写。
$endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
$filedir = APP_PATH."/app/views/uploadfiles/";
if(empty($_FILES["file"]))
{
$result['code'] = 500;
$result['msg'] = "请选择要上传的图片";
$this->setJsonResponse($result);
return ;
}
if($_FILES["file"]["error"])
{
$result['code'] = 500;
$result['msg'] = $_FILES["file"]["error"];
}
else
{
//没有出错
//加限制条件
//判断上传文件类型为png或jpg且大小不超过1024000B
// if(($_FILES["file"]["type"]=="image/png"||$_FILES["file"]["type"]=="image/jpeg"||$_FILES["file"]["type"]=="image/jpg")&&$_FILES["file"]["size"]<1024000)
if(($_FILES["file"]["type"]=="image/png"||$_FILES["file"]["type"]=="image/jpeg"||$_FILES["file"]["type"]=="image/jpg")&&$_FILES["file"]["size"]<4024000)
{
//防止文件名重复
$md5 = md5(time().$_FILES["file"]["name"]);
$info2=explode(".",$_FILES["file"]["name"]);
$suffix = strtolower(end($info2));
$name = $md5.".".$suffix;
$fileName = strtolower($filedir.$name);
//转码,把utf-8转成gb2312,返回转换后的字符串, 或者在失败时返回 FALSE。
$fileName =iconv("UTF-8","gb2312",$fileName);
//检查文件或目录是否存在
if(file_exists($fileName))
{
$result['code'] = 500;
$result['msg'] = "该文件已存在";
}
else
{
//保存文件, move_uploaded_file 将上传的文件移动到新位置
$a = move_uploaded_file($_FILES["file"]["tmp_name"],$fileName);//将临时地址移动到指定地址
if($_FILES["file"]["type"]=="image/png") {
$fileName1 = time().'.png';
}
if($_FILES["file"]["type"]=="image/jpeg") {
$fileName1 = time().'.jpeg';
}
if($_FILES["file"]["type"]=="image/jpg") {
$fileName1 = time().'.jpg';
}
try {
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$aa = $ossClient->uploadFile($bucket, $fileName1, $fileName);
$result['msg'] = $aa['info']['url'];
} catch (OssException $e) {
$this->setJsonResponse($e->getMessage());
}
}
}
else
{
$result['code'] = 500;
$result['msg'] = "文件类型不对11";
$result['imgtype'] = $_FILES["file"]["type"];
}
}
$this->setJsonResponse($result);
}