tp5restful API的搭建(2)

gongzhiyang 3月前 627

同学们好,嘿嘿。最近时间比较充足。多写一些心得。大家共同探讨交流。

上一节我们聊到api的基本操作,今天我们说一下上传功能。基本的上传功能,我这里说两种方式。

首先路由设置

Route::post(':version/upload', 'api/:version.News/upload');

一. $_FILES

$_FILES[“file”][“name”] - 被上传文件的名称
$_FILES[“file”][“type”] - 被上传文件的类型
$_FILES[“file”][“size”] - 被上传文件的大小,以字节计
$_FILES[“file”][“tmp_name”] - 存储在服务器的文件的临时副本的名称
$_FILES[“file”][“error”] - 由文件上传导致的错误代码

1.$_FILES 方式上传,它是一种二进制数据流。你要在标签内加enctype=multipart/form-data。如下

<form action="/index/index/upload" enctype="multipart/form-data" method="post">
<input type="file" name="image" /> <br> 
<input type="submit" value="上传" /> 
</form>

2.之后我们在controller中写入代码
在这里插入图片描述

public function upload(){

		// 获取表单上传文件 例如上传了001.jpg
		$file = request()->file('file');
		// 移动到框架应用根目录/uploads/ 目录下.move==move_uploaded_file
		$info = $file->move( '../uploads');
		if($info){
			// 成功上传后 获取上传信息
			// 输出 jpg
			$data = [
				'code' => 200,
				//'data' => $data
			];

			return json($data);
		}else{
			// 上传失败获取错误信息
			$data = [
				'code' => $file->getError(),
				//'data' => $data
			];
			return json($data);
		}
}

二、base64图片上传.

1.在controller中写入代码

public function upload(){

		$base64_img = trim(Request::post('img'));
		$up_dir = '../upload/';//存放在当前目录的upload文件夹下

		if(!file_exists($up_dir)){
			mkdir($up_dir,0777);
		}

		if(preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_img, $result)){
			$type = $result[2];
			if(in_array($type,array('pjpeg','jpeg','jpg','gif','bmp','png'))){
				$new_file = $up_dir.date('YmdHis_').'.'.$type;
				if(file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_img)))){
					$img_path = str_replace('../../..', '', $new_file);
					echo '图片上传成功</br><img src="' .$img_path. '">';
				}else{
					echo '图片上传失败</br>';

				}
			}else{
				//文件类型错误
				echo '图片上传类型错误';
			}

		}else{
			//文件错误
			echo '文件错误';
		}
}		

三 测试工具
chrome-extension://aejoelaoggembcahagimdiliamlcdmfm/restlet_client.html
base64图片在线转换工具 http://tool.chinaz.com/tools/imgtobase
样例

data:image/png;base64,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

在这里插入图片描述

如果$_FILES方式上传的话测试如下
在这里插入图片描述

到现在上传功能就结束了。谢谢大家。

最新回复 (0)
    • 都市菜鸟网
      2
        立即登录 立即注册 
返回
发新帖