之前公司让用workerman框架去做中间层,把图片传到给java后台,之前有用过thinkphp封装过的curl方法,但同样的问题在workerman就出问题的,后面经过同事的提醒和浏览官方文档,发现workerman图片上传的方法跟之前php原生的不一样,之前php原生的上传是先把文件先保存到临时文件夹,所以在php原生直接接收就好,但workerman却不一样,它是文件流没保存为临时文件,而且上传文件参数类型也跟之前php不一样。
这是php原生上传的类型
- $_FILES["file"]["name"] - 被上传文件的名称
- $_FILES["file"]["type"] - 被上传文件的类型
- $_FILES["file"]["size"] - 被上传文件的大小,以字节计
- $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
- $_FILES["file"]["error"] - 由文件上传导致的错误代码
注意HTTP文件上传中,WorkerMan的$_FILES
结构与传统PHP中的$_FILES
结构不同,WorkerMan中$_FILES
结构类似
var_export($_FILES);
array(
0 => array(
'file_name' => 'logo.png', // 文件名称
'file_size' => 23654, // 文件大小
'