workermen图片上传问题

在使用Workerman框架处理图片上传时遇到问题,与PHP原生上传方式不同,Workerman不将文件保存到临时文件夹而是以文件流形式处理。通过查阅文档和同事帮助,了解到Workerman上传文件参数类型的变化,并需要手动将文件流保存到临时文件夹来实现与PHP原生上传相似的功能。此过程中的关键在于理解Workerman中HTTP文件上传的结构差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前公司让用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,      // 文件大小
        'file_data' => '*****',    // 文件的二进制数据
    ),
    1 => array(
        'file_name' => 'file.tar.gz', // 文件名称
        'file_size' => 128966,        // 文件大小
        'file_data' => '*****', 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值