API之 要求接口上传pdf 以 合同PDF的二进制数据,multpart方式上传

news2024/12/5 9:48:08

在这里插入图片描述

实现

	   //时间戳13位毫秒
	    private function getMillisecond() {
	        list($s1,$s2) = explode(' ',microtime());
	        return (float)sprintf('%.0f',(floatval($s1) + floatval($s2)) * 1000);
	    }

		// 组装参数
		private function gysscPost1($url,$data)
        {

            // $data['timestamp'] = '1694402111964';
            $data['timestamp'] = $this->getMillisecond();
            $data['v'] = '1.0';
            $data['appKey'] = $this->appKey;
            $data['method'] = $data['method'];
            $data['token'] = $this->token;
            $data['format'] = 'json';
            $data['paramType'] = 'json';
            $contractBytes = $data['contractBytes'];   // 上传pdf的文件地址
            unset($data['contractBytes']);

            ksort($data);
            
            $data['sign'] = $sign_str;
            
            $res = $this->curl1('http://39.101.164.226:8073/openapi', $data,$contractBytes);
            $result = $this->decrypt($res);      //解密
            return $result;
        }
        
        public function curl1($url, $post,$contractBytes,$is_json = false,$aHeader='')
        {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_HEADER, false);
            curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
            curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            curl_setopt($ch, CURLOPT_URL, $url);
            
            // 重点是下面 传参
            $post['contractBytes']= curl_file_create($contractBytes, mime_content_type($contractBytes), time() . 'pdf');

            curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'Content-Type: multipart/form-data',
                $aHeader
            ));

            // 返回结果
            $result = curl_exec($ch);

            if($result != false)
            {
                curl_close($ch);
                return $result;
            } else {
                $error = curl_errno($ch);
                curl_close($ch);
                return "curl出错,错误码:$error";
            }
        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1237455.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

40、Flink 的Apache Kafka connector(kafka source的介绍及使用示例)-1

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

【剪枝】torch-pruning的基本使用

论文:DepGraph: Towards Any Structural Pruning 工程:https://github.com/VainF/Torch-Pruning 算法和库的使用介绍:CVPR 2023 | DepGraph 通用结构化剪枝 1 TP的简介 该算法介绍了DepGraph 如何建模结构化剪枝中的层依赖,实现任…

Fiddler模拟弱网环境

1.设置弱网:Rules-》Customize Rules 上传速度:1KB/300ms1KB/0.3s3.33KB/s 下载速度:1KB/150ms1KB/0.15s6.67KB/s 2.启动弱网:Rules-》Performance-》Simulate Modem Speeds 开启后,此项为勾选状态 3.验证弱网生效…

Activiti7工作流引擎:生成实时的流程图片

实时获取当前流程对应的流程图片,并对当前正在审批的节点进行高亮显示。 public class ActivitiController {Autowiredprivate ProcessEngine processEngine;Autowiredprivate RepositoryService repositoryService;Autowiredprivate RuntimeService runtimeService…

Vellum —— 简介

目录 一,介绍 二,原理 三,PBD算法 一,介绍 Vellum是一个解算模拟框架,使用更高级的PBD(XPBD,extended position based dynamics),是2nd Order Integration&#xff08…

振南技术干货集:制冷设备大型IoT监测项目研发纪实(4)

注解目录 1.制冷设备的监测迫在眉睫 1.1 冷食的利润贡献 1.2 冷设监测系统的困难 (制冷设备对于便利店为何如何重要?了解一下你所不知道的便利店和新零售行业。关于电力线载波通信的论战。) 2、电路设计 2.1 防护电路 2.1.1 强电防护 …

深兰科技多款大模型技术产品登上新闻联播!

11月20日晚,新闻联播报道了2023中国5G工业互联网大会,深兰科技metamind、汉境大型城市智能体空间等大模型技术和产品在众多参展产品中脱颖而出,被重点播报。 2023中国5G工业互联网大会 本届大会由工信部和湖北省人民政府联合主办,…

D-Wave推出新开源及解决无线信道解码新方案!

​(图片来源:网络) 加拿大量子计算机公司D-Wave(纽约证券交易所股票代码:QBTS)是量子计算系统、软件和服务领域的佼佼者,也是全球首家商业量子计算机供应商。 近期,该公司发布了一…

如何打造适用的MES管理系统解决方案

在当前的制造业领域,项目型生产企业面临着独特的挑战。尽管国外的大型软件公司提供了某些解决方案,但由于地域、文化和制度的差异,这些方案并不完全满足企业的实际需求。为了解决这一难题,我们必须以客户为中心,围绕他…

小程序Tab栏与页面滚动联动

小程序tab栏切换与页面滚动联动 tab栏与页面滚动联动点击tab栏页面跳到指定位置滚动页面时切换tab栏 tab栏与页面滚动联动 在进行小程序开发时,需要实现点击tab栏页面滚动到某一指定位置,并且滚动页面时,小程序的tab栏进行切换。 在一开始&a…

H1净利润同比增长超30%,这家泛家居领先品牌与纷享销客双向奔赴

增长,是我们永远绕不开的话题。 一方面,如何推动企业精细化运营与协作是行业面临的共同挑战。 另一方面,如何从技术、产品、营销等各个方面出发,以更高的效率、更优的体验为客户提供的价值也逐渐成为决定企业盈利空间的关键点。 …

redis的性能管理和雪崩

redis的性能管理 redis的数据是缓存在内存当中的 系统巡检: 硬件巡检、数据库、nginx、redis、docker、k8s 运维人员必须要关注的redis指标 在日常巡检中需要经常查看这些指标使用情况 info memory #查看redis使用内存的指标 used_memory:11285512 #数据占用的…

2023年中国离心制冷机产量及产业链分析[图]

离心制冷机是一种常用的空调制冷设备,目前主要应用于酒店、写字楼、商场、学校等众多大型场所的集中制冷场景。离心制冷机由离心式制冷压缩机、蒸发器、冷凝器、主电动机、抽气回收装置、润滑系统、控制柜和起动柜等零部件组成。这些零部件的组成有的采用分散型组装…

使用 API 管理平台的 5 大理由

组织需要治理和控制API生态系统,这种治理就是API管理的作用。 Uber 使用 API​​(应用程序编程接口)与 Google Maps 和 Twilio 等第三方服务连接,这有助于改善用户体验; Salesforce 提供 API,允许开发人员…

英国国家量子计算中心与IBM签署重要协议!英国进入实用量子时代

​(图片来源:网络) 近日,英国国家量子计算中心(NQCC)与IBM达成了一项重要协议。根据该协议,NQCC将为英国研究人员提供IBM量子高级计划的云访问权限,其中包括IBM的量子计算系统舰队。…

RFID电网资产全寿命周期管理解决方案

一、方案背景 随着电网公司对电网资产全寿命周期管理的要求日益明确,许多电网公司已经开始积极推进存量资产PMS、PM与AM数据的联动对应,并将联动成果纳入资产全寿命周期管理一体化平台进行指标考核。然而,由于资产变动导致数据质量下降的问题…

数据资产入表在即,企业可做好四项准备

2023年8月,财政部正式对外发布《企业数据资源相关会计处理暂行规定》,标志着数据资产即将入表,同时宣布2024年1月1日施行,如今已是11月下旬了,很多的企业纷纷感慨来不及了: 1.会计相关的制度、流程都没来得…

Python中使用requests库遇到的问题及解决方案

目录 一、引言 二、问题1:无法导入requests库 三、问题2:请求超时 四、问题3:无法处理重定向 五、问题4:无法处理Cookies 六、问题5:无法上传文件 七、问题6:无法处理HTTPS请求 八、问题7&#xff…

Moonbeam Network已上线原生USDC稳定币

原生USDC已经通过XCM从波卡来到了Moonbeam,该如何利用?此次集成通过把热门的Circle稳定币带来波卡生态,连接了区块链世界与传统金融。现在,用户和开发者可以在Moonbeam网络中踏寻USDC的强大之处。 Moonbeam生态中的Moonwell、FiD…

8-cgi fastcgi wsgi uwsgi uWSGI 分别是什么?如何自定制上下文管理器、Python是值传递还是引用传递

1 cgi fastcgi wsgi uwsgi uWSGI 分别是什么? 2 如何自定制上下文管理器 3 Python是值传递还是引用传递 1 cgi fastcgi wsgi uwsgi uWSGI 分别是什么? # CGI:通用网关接口(Common Gateway Interface/CGI),CGI描述了服务器&#xf…