java百度图片上传接口_百度小程序第三方接入图片上传demo

代码是基于ThinkPHP 3.2的,其他语言请自行实现,PHP版本为5.6

/**

* 图片上传

* @Author Qianlong <87498106@qq.com>

* @PersonSite http://dev.21ds.cn/

*/

public function onlyUploadImage()

{

$upload = new \Think\Upload(); // 实例化上传类

$upload->maxSize = 3145728; // 设置附件上传大小

$upload->exts = array('jpg', 'bmp', 'png', 'jpeg'); // 设置附件上传类型

$upload->rootPath = './Uploads/'; // 设置附件上传根目录

$upload->savePath = ''; // 设置附件上传(子)目录

// 上传文件

$info = $upload->upload();

$access_token = $this->applet->getAccessToken();

$filename = '/webroot/Uploads/' . $info['file']['savepath'] . $info['file']['savename'];

$postd['access_token'] = $access_token;

$postd['type'] = 2;

$file['realpath'] = $filename;

$file['name'] = 'multipartFile';

$file['type'] = $info['file']['type'];

$status = $this->Https_request('https://openapi.baidu.com/file/2.0/smartapp/upload/image', $postd,null, $file);

if (!empty($status)) {

switch ($status['errno']) {

case '0':

$returnData['code'] = 200;

$returnData['data'] = $status['data'];

$returnData['msg'] = '上传成功';

$this->BspReturn($returnData);

break;

case '47003':

$returnData['code'] = -1;

$returnData['data'] = '';

$returnData['msg'] = '图片格式无效';

$this->BspReturn($returnData);

break;

case '47000':

$returnData['code'] = -1;

$returnData['data'] = '';

$returnData['msg'] = '图片格式无效';

$this->BspReturn($returnData);

break;

default:

$returnData['code'] = -1;

$returnData['data'] = $status;

$returnData['msg'] = '上传失败,请重试';

$this->BspReturn($returnData);

break;

}

} else {

$returnData['code'] = -1;

$returnData['data'] = $status;

$returnData['msg'] = '上传失败,请重试';

$this->BspReturn($returnData);

}

}

public function Https_request($url, $data = null, $cookie = null, $file = null, $header = '')

{

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt(

$curl,

CURLOPT_SSL_VERIFYPEER,

FALSE

);

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

//携带cookie文件

if (!empty($cookie)) {

curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie); //读取cookie

}

//携带头

if (!empty($header)) {

curl_setopt($curl, CURLOPT_HTTPHEADER, $header);

}

//上传文件

if (!empty($file)) {

$file_obj = new \CURLFile($file['realpath'], $file['type']);

$data["{$file['name']}"] = $file_obj;

}

//发送post数据

if (!empty($data) && !isset($file_obj)) {

curl_setopt($curl, CURLOPT_POST, 1);

curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));

} elseif (!empty($data)) {

curl_setopt($curl, CURLOPT_POST, 1);

curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

}

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec($curl);

if (empty($output)) return 'no data';

curl_close($curl);

return is_null(json_decode($output)) ? $output : json_decode($output, true);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
泛微OA是一款广泛应用于企业办公的办公自动化软件,提供了丰富的功能和可定制的接口,可以方便地与其他系统进行集成。调用第三方接口是在泛微OA中实现与外部系统或服务进行数据交互的重要方式之一。 要实现泛微OA调用第三方接口Demo,首先需要确定所要调用的第三方接口的具体内容和功能。一般而言,调用第三方接口需要提供接口的URL、请求的参数以及相应的请求方法(GET/POST)。 在泛微OA中,可以通过编写自定义的插件或者脚本来实现调用第三方接口。插件可以直接在OA系统中安装并使用,而脚本则可以通过定时任务或触发器来执行相应的操作。 具体实现步骤如下: 1. 在泛微OA的插件管理或脚本管理界面创建一个新插件或脚本。 2. 编写相应的逻辑代码,包括向第三方接口发送请求并获取响应数据的过程。根据第三方接口的要求,通过HTTP请求发送合适的参数,并解析接口返回的数据。 3. 调试和测试插件或脚本,确保能够正确地与第三方接口进行通信并获取到预期的结果。 4. 根据需求,可以在泛微OA的流程或表单中调用刚刚创建的插件或脚本。这样,当流程或表单的相关操作触发时,相应的第三方接口也会被调用。 需要注意的是,调用第三方接口可能需要进行认证或鉴权操作,这需要根据具体情况在代码中添加相应的授权方式,如使用API Key或OAuth等。 综上所述,泛微OA调用第三方接口Demo实现过程是:确定要调用的第三方接口的功能,创建并编写相应的插件或脚本,并在泛微OA的流程或表单中调用该插件或脚本,最后进行调试测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值