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

实现
//时间戳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";}}
相关文章:
API之 要求接口上传pdf 以 合同PDF的二进制数据,multpart方式上传
实现 //时间戳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[tim…...
C语言-求阶乘序列前N项和
本题要求编写程序,计算序列 1!2!3!⋯ 的前N项之和。 输入格式: 输入在一行中给出一个不超过12的正整数N。 输出格式: 在一行中输出整数结果。 输入样例: 5输出样例: 153 #include "stdio.h" int main(){int n;int sum 0;scanf("%d",&a…...
3:kotlin 逻辑控制(Control flow)
像其他语言一样,kotlin也有循环和逻辑控制 条件判断(Conditional expressions) kotlin使用if和when来进行条件判断 如果纠结选择if还是when,建议使用when,因为它更能提高程序的健壮性 if 普通写法 fun main() {val…...
Linux系统之一次性计划任务at命令的基本使用
Linux系统之一次性计划任务at命令的基本使用 一、at命令介绍二、at命令的使用帮助2.1 at命令的help帮助信息2.2 at命令的语法解释 三、at命令的日常使用3.1 立即执行一次性任务3.2 指定时间执行一次性任务3.3 查询计划任务3.4 其他指定时间用法3.5 删除已经设置的计划任务3.6 显…...
记录:Unity脚本的编写8.0
目录 需求分析设计GUI包含账号和密码输入栏,包括登录和注册按键添加背景音乐编写脚本控制音乐 退出按钮编写脚本 背景图片完整代码 一个小demo,登录和注册的实现(包括GUI和数据库操控) 需求分析 自行设计GUI,要求 1.包…...
OpenCV | 模版匹配
import cv2 #opencv读取的格式是BGR import numpy as np import matplotlib.pyplot as plt#Matplotlib是RGB %matplotlib inline 模版匹配 模版匹配和卷积原理很像,模版在原图像上从原点开始滑动,计算模版与(图像被模版覆盖的地方ÿ…...
【算法刷题】Day7
文章目录 283. 移动零1089. 复写零 283. 移动零 原题链接 看到题目,首先看一下题干的要求,是在原数组内进行操作,平切保持非零元素的相对顺序 这个时候我们看到了示例一: [ 0, 1, 0, 3,12 ] 这个时候输出成为了 [ 1, 3, 12, 0, …...
前端 | iframe框架标签应用
文章目录 📚嵌入方式📚图表加载显示📚100%嵌入及滑动条问题📚加载动画保留 前情提要: 计划用iframe把画好的home1.html(echarts各种图表组成的html数据大屏)嵌入整合到index.html(搭…...
linux -系统通用命令查询
有时候内网环境下,系统有些命令没有安装因此掌握一些通用的linux 命令也可以帮助我们解决一些问题查看 1.查看系统内核版本 uname -r2.查看系统版本 cat /etc/os-release3. 查看cpu 配置 lscpu4.查看内存信息 free [参数] 中各个数值的解释如下表 数值解释t…...
python炒股自动化(1),量化交易接口区别
要实现股票量化程序化自动化,就需要券商提供的API接口,重点是个人账户小散户可以申请开通,上手要简单,接口要足够全面,功能完善,首先,第一步就是要找对渠道和方法,这里我们不讨论量化…...
LeetCode(35)螺旋矩阵【矩阵】【中等】
目录 1.题目2.答案3.提交结果截图 链接: 54. 螺旋矩阵 1.题目 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:…...
BeanUtil.copyProperties的优化与使用(解决copyProperties null值覆盖问题)
BeanUtil.copyProperties的优化与使用 前言一、copyProperties是什么?二、使用步骤1.引入库2.基础使用3.进阶使用4.实用场景 总结 前言 BeanUtil.copyProperties的优化与使用 一、copyProperties是什么? 在java中,我们想要将一个类的值赋值…...
Redis基本操作及使用
📑前言 本文主要是【Redis】——Redis基本操作及使用的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一…...
python 继承父类的变量和方法
[root@zz python]# cat a1.py # !/usr/bin/env python # -*- coding: utf-8 -*- class AddrBookEntry(object): ##类定义 def __init__(self,a,b): ##定义构造器 self.var1=a+9 self.var2=b+11 def updatePhone(self, num): # 定义方法 sel…...
ubuntu22.04新机使用(换源,下载软件,安装显卡驱动,锁屏长亮)
换源 国内有很多Ubuntu的镜像源,包括阿里的、网易的,还有很多教育网的源,比如:清华源、中科大源。推荐使用中科大源,快得很。 /etc/apt/sources.list编辑/etc/apt/sources.list文件, 在文件最前面添加以下条目(操作前…...
如何给shopify的网址做301跳转
很多shopify的运营者或者推广者由于缺货或者货物变更,又或者自己更换了使用的主题,导致自己的URL结构发生了变化,由于不想浪费掉自己原有URL 的流量,就想做个301跳转,让自己新的网址来承接原有的流量。接下来给大家介绍…...
Redis之秒杀系统
目录 Redis 秒杀 Mysql数据库设计 Mysql秒杀实现 MysqlRedis秒杀实现 秒杀是一种高并发场景,通常指的是在短时间内(秒级别)有大量用户同时访问某个商品或服务,争相抢购的情景。在这种情况下,系统需要处理大量并发请…...
c++基础----new
c基础----new 在C中,new是一个运算符,用于动态分配内存并返回指向该内存的指针。它可以用于创建单个对象、数组以及动态分配的对象。 下面是new的几种常见用法: 动态分配单个对象: int* ptr new int; // 动态分配一个int类型…...
Java中的mysql——面试题+答案(存储过程,外键,隔离级别,性能优化)——第23期
当涉及MySQL时,面试题的范围可以涵盖数据库设计、优化、复制、分片等方面。 什么是数据库范式?为什么要遵循数据库范式? 答案: 数据库范式是一组规范,用于设计关系数据库表的结构,以减少数据冗余和提高数据…...
一种新的基于物理的AlGaN/GaN HFET紧凑模型
标题:A new physics-based compact model for AlGaN/GaN HFETs (IEEE MTT-S International Microwave Symposium) 摘要 摘要 - 针对AlGaN/GaN HFET,提出了一种无拟合参数的物理解析模型。对于非饱和操作,建立了两个接入区和栅极下方I-V特性的…...
ISPS编程语言HLS设计
一、ISPS编程语言HLS设计 1.ISPS 并非现代主流编程语言 2.ISPS 全称为 Instruction Set Processor Specifications(指令集处理器规范),是一种用于描述数字系统结构和行为的早期硬件描述语言 3.ISPS 属于第二代硬件描述语言&…...
FLUX.1-dev像素生成器参数详解:如何通过Scale控制LoRA模组强度
FLUX.1-dev像素生成器参数详解:如何通过Scale控制LoRA模组强度 1. 认识像素幻梦的LoRA模组系统 像素幻梦(Pixel Dream Workshop)作为基于FLUX.1-dev的像素艺术生成终端,其核心优势在于灵活的LoRA模组系统。LoRA(Low-Rank Adaptation)技术允许我们在不改…...
失业期PHP程序员,能合作就别对着干。多一个朋友,少一个敌人。
这句话是失业期 PHP 程序员在资源匮乏环境下,从“零和博弈”转向“正和博弈”的生存智慧。 它的本质是:承认个体力量的局限性,通过降低人际摩擦系数,将潜在的竞争对手转化为互补的合作伙伴。在失业期,你的核心资产不是…...
【算法三十八】200. 岛屿数量
200. 岛屿数量 DFS: class Solution {public int numIslands(char[][] grid) {int ans 0;for(int i 0;i<grid.length;i){for(int j 0;j<grid[0].length;j){if(grid[i][j]1){dfs(grid,i,j);ans;}}}return ans;}private void dfs(char[][] grid,int i,int …...
Ubuntu服务器生产环境部署Pixel Script Temple全记录
Ubuntu服务器生产环境部署Pixel Script Temple全记录 1. 准备工作与环境检查 在开始部署之前,我们需要确保服务器环境满足基本要求。首先确认你的Ubuntu服务器版本为20.04 LTS或22.04 LTS,这两个版本都提供长期支持,适合生产环境使用。 运…...
5个专业级步骤:NVIDIA Profile Inspector开源工具的显卡性能优化指南
5个专业级步骤:NVIDIA Profile Inspector开源工具的显卡性能优化指南 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款免费开源的显卡配置工具,能…...
Qwen3Guard-Gen-8B开箱即用:离线内容审核,保护你的AI应用免受风险
Qwen3Guard-Gen-8B开箱即用:离线内容审核,保护你的AI应用免受风险 1. 为什么需要离线内容审核? 在AI应用快速发展的今天,内容安全问题日益突出。无论是社交媒体、在线客服还是内容创作平台,都可能面临以下风险&#…...
Synopsys综合指令进阶指南:为什么90%的工程师都用错了full_case?
Synopsys综合指令进阶指南:为什么90%的工程师都用错了full_case? 在数字电路设计领域,Synopsys工具链中的full_case指令就像一把双刃剑——用得好可以优化电路结构,用不好则可能导致仿真与综合结果不一致的灾难性后果。本文将带您…...
Qwen3.5-2B网络编程应用:构建基于WebSocket的实时多模态聊天服务
Qwen3.5-2B网络编程应用:构建基于WebSocket的实时多模态聊天服务 1. 实时聊天服务的价值与挑战 想象一下这样的场景:电商客服需要同时处理图片咨询和文字提问,在线教育平台要实时解答学生上传的题目截图,或是设计团队需要AI即时…...
Pixel Epic · Wisdom Terminal 辅助MATLAB算法仿真与数据分析
Pixel Epic Wisdom Terminal 辅助MATLAB算法仿真与数据分析 1. 科研算法开发的效率痛点 科研人员和算法工程师经常面临这样的困境:脑子里有清晰的算法思路,却要花费大量时间在MATLAB代码实现上。从算法构思到可运行的仿真模型,中间隔着繁琐…...
