2014-09-12 40 views
0

是否有可能使用PHP Toolkit抓取Netsuite使用的项目图像的URL?使用此功能:从PHP的Netsuite文件柜中获取图像url

function getProduct($id) { 

    $service = new NetSuiteService(); 
    $service->setSearchPreferences(false, 1000); 

    $itemInfo = new SearchMultiSelectField(); 
    $itemInfo->operator = "anyOf"; 
    $itemInfo->searchValue = array('internalId' => $id); 

    $search = new ItemSearchBasic(); 
    $search->internalId = $itemInfo; 

    $request = new SearchRequest(); 
    $request->searchRecord = $search; 

    $searchResponse = $service->search($request); 
    $products = $searchResponse->searchResult->recordList->record; 

    return $products; 

} 

我可以获取物品信息。在信息,NetSuite公司给我这个小片段(整个事情被截断的清洁度):

... 
[storeDisplayImage] => RecordRef Object 
    (
     [internalId] => 19876 
     [externalId] => 
     [type] => 
     [name] => 4010024.jpg 
    ) 
... 

这只是告诉我该文件的名称在NetSuite的文件柜。如何使用PHP Toolkit自动下载图像?

+0

向我们展示一些代码来讨论。 – lxg 2014-09-12 22:34:57

+0

我用代码更新了这个问题。 – 2014-09-16 15:27:42

+0

你打算在NetSuite内部还是外部使用这张图片? – pipechang 2014-09-17 00:12:13

回答

0

试试这个:

$request2 = new GetRequest(); 
$request2->baseRef = new RecordRef(); 
$request2->baseRef->internalId = $product->storeDisplayImage->internalId; 
$request2->baseRef->type = "file"; 
$getResponse2 = $this->service->get($request2); 
if (!$getResponse2->readResponse->status->isSuccess) { 
     echo "GET ERROR"; 
} else { 
    $file = $getResponse2->readResponse->record; 
    echo "GET SUCCESS, File name is " . $file->name; 
    echo "<img src='".$file->url."'>"; 
} 
0

我想你会想看看:

["storeDisplayImage"]=> 
object(RecordRef)#20 (4) { 
    ["internalId"]=> 
    string(6) "758653" 
    ["externalId"]=> 
    NULL 
    ["type"]=> 
    NULL 
    ["name"]=> 
    string(26) "image_name.jpg" 
    } 

我找不到任何方式实际访问图像,但如果它是可能的,internalId(758653)是你应该使用搜索什么。通过URL访问图像当它被用来:

https://system.netsuite.com/core/media/media.nl?id= & C = ACCOUNT#& H = 31578b297cc0be65db1f & expurl = T

的问题是,在URL的结尾随机散列。我无法弄清楚它是什么,但如果可以的话,你可以构建该URL。

编辑:nlapiResolveURL可能会帮助你。尝试将internalId传递给nlapiResolveURL,它可以动态地提供该URL。