之前看到有人在网络求教《淘宝api的吗?求问如何直接上传网络图片》,为了让新人少走弯路,以下是小编写整理相关解决方法。
代码经过测试(可以看后面的返回结果)
比如:https://www.onebound.cn/daigou/logo/0-702x180.jpg
/**
使用淘宝open api直接上传网络图片的方法
*/
//调用SDK代码如下:
$appkey=’’;
$secret=’’;
$c = new TopClient;
$c->appkey = $appkey;
$c->secretKey = $secret;
$c->format = ‘json’;
$req = new ItemAddRequest;
$req->setLocationState(“浙江”);
$req->setLocationCity(“杭州”);
$req->setNum(“30”);
$req->setPrice(“200.07”);
$req->setType(“fixed”);
$req->setStuffStatus(“new”);
$req->setTitle(“Nokia N97全新行货”);
$req->setDesc(“这是一个商品”);
$req->setApproveStatus(“onsale”);
$req->setCid(“50026519”);
//1、远程图片的方式
imgname][‘name’];
req−>setImage(′@′.req->setImage(’@’.req−>setImage(
′
@
′
.fileLocation);
//2、上传图片的方法
/*
$tmpname = $_FILES[‘img’][‘name’];
$tmpfile = $_FILES[‘img’][‘tmp_name’];
$type = $_FILES[‘img’][‘type’];
okfile=′/tmp/′.time().rand(1000,99999).ok_file = ‘/tmp/’.time().rand(1000,99999).ok
f
ile=
′
/tmp/
′
.time().rand(1000,99999)._FILES[‘img’][‘name’];
move_uploaded_file(tmpfile,tmpfile,tmpfile,ok_file);
req−>setImage(′@′.req->setImage(’@’.req−>setImage(
′
@
′
.fileLocation);
*/
//3、setPicPath是淘宝图片空间的相对地址,并不是可以直接传的网络图片地址
//$req->setPicPath(“i7/T1rfxpXcVhXXXH9QcZ_033150.jpg”);
$resp = c−>execute(c->execute(c−>execute(req, $sessionKey);
返回结果:
{
“item_add_response”: {
“item”: {
“created”: “2020-02-29 10:11:09”,
“iid”: “613055906493”,
“num_iid”: 613055906493
},
“request_id”: “nfe27adkvygx”
}
}