使用淘宝open api直接上传网络图片的方法

之前看到有人在网络求教《淘宝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、远程图片的方式
$pic_url=‘https://www.onebound.cn/daigou/logo/0-702x180.jpg’;
d a t a = f i l e g e t c o n t e n t s ( data = file_get_contents( data=filegetcontents(pic_url);
f i l e L o c a t i o n = ′ / t m p / ′ . t i m e ( ) . r a n d ( 1000 , 99999 ) . fileLocation = '/tmp/' .time().rand(1000,99999). fileLocation=/tmp/.time().rand(1000,99999)._FILES[$imgname][‘name’];

r e q − > s e t I m a g e ( ′ @ ′ . req->setImage('@'. req>setImage(@.fileLocation);

//2、上传图片的方法
/*
$tmpname = $_FILES[‘img’][‘name’];
$tmpfile = $_FILES[‘img’][‘tmp_name’];
$type = $_FILES[‘img’][‘type’];
o k f i l e = ′ / t m p / ′ . t i m e ( ) . r a n d ( 1000 , 99999 ) . ok_file = '/tmp/'.time().rand(1000,99999). okfile=/tmp/.time().rand(1000,99999)._FILES[‘img’][‘name’];
move_uploaded_file( t m p f i l e , tmpfile, tmpfile,ok_file);
r e q − > s e t I m a g e ( ′ @ ′ . req->setImage('@'. req>setImage(@.fileLocation);
*/

//3、setPicPath是淘宝图片空间的相对地址,并不是可以直接传的网络图片地址
//$req->setPicPath(“i7/T1rfxpXcVhXXXH9QcZ_033150.jpg”);

$resp = c − > e x e c u t e ( 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”
}
}

你可能感兴趣的:(使用淘宝open api直接上传网络图片的方法)