我们正在尝试通过php中的forge ObjectsApi上传一个文件。这导致http 504网关一直超时。文件大小为800kb,所以这应该不是问题。
代码如下:
$twoLeggedAuth = new Autodesk\Auth\OAuth2\TwoLeggedAuth();
$twoLeggedAuth->setScopes( [ 'data:write' ] );
$twoLeggedAuth->fetchToken();
$apiInstance = new Autodesk\Forge\Client\Api\ObjectsApi( $twoLeggedAuth );
$filename = $inputFileName;
$body = $filename;
$file = new SplFileObject( $body );
$content_length = $file->getSize();
$object_name = $file->getFilename();
try {
$result = $apiInstance->uploadObject( $bucket_key, $object_name, $content_length, $body, null, null );
} catch( Exception $e ) {
echo 'Exception when calling ObjectsApi->uploadObject: ', $e->getMessage(), PHP_EOL;
}这导致了
Exception when calling ObjectsApi->uploadObject: [504] Error connecting to the API (https://developer.api.autodesk.com/oss/v2/buckets/bobbie_pat/objects/test.dwg)发布于 2018-05-13 20:49:10
文档指出代码有buggy,https://forge.autodesk.com/blog/basic-usage-forge-sdk-php有一个修复:
但是uploadObject方法有一个问题,我们将面临一个错误504。要解决此问题,可以通过更改forge-php-client/lib/ApiClient.php的第#196行来解决此问题。
//From: curl_setopt( $curl,CURLOPT_POSTFIELDS,$postData );//To: curl_setopt( $curl,CURLOPT_POSTFIELDS,file_get_contents( $postData ) );
不知道为什么他们不只是修复他们的SDK,而是在他们自己的网站上发布修复。
https://stackoverflow.com/questions/50316253
复制相似问题