|
@@ -11,26 +11,63 @@ use Ramsey\Uuid\Uuid;
|
|
|
|
|
|
class Glendale extends BIMAbstract
|
|
class Glendale extends BIMAbstract
|
|
{
|
|
{
|
|
-
|
|
|
|
- public function uploadFile(UploadedFile $file, array $params = [])
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 指定url方式上传模型到引擎服务器
|
|
|
|
+ * @param string $fileUrl
|
|
|
|
+ * @param mixed $params
|
|
|
|
+ * @return array
|
|
|
|
+ */
|
|
|
|
+ protected function uploadFileByUrl(string $fileUrl, $params): array
|
|
{
|
|
{
|
|
- $uploadFormData = [
|
|
|
|
- ['name' => 'file', 'contents' => fopen($file, 'r+'), 'filename' => $file->getClientOriginalName()]
|
|
|
|
- ];
|
|
|
|
|
|
+ return Client::getInstance()->post('/api/app/model/transcode-file', [
|
|
|
|
+ 'query' => [
|
|
|
|
+ 'input' => json_encode([
|
|
|
|
+ 'modelDownloadUrl' => $fileUrl,
|
|
|
|
+ 'name' => $params['name'] ?? '',
|
|
|
|
+ 'initiatingUser' => Auth::user()->name,
|
|
|
|
+ 'uniqueCode' => Uuid::uuid4(),
|
|
|
|
+ 'priority' => 205,
|
|
|
|
+ 'isCAD' => $params['is_cad'],
|
|
|
|
+ 'configJson' => ExtensionModelConfig::getConfigOption($params['extension']),
|
|
|
|
+ 'callbackInterfaceURL' => route('glendale.callback'),
|
|
|
|
+ ])
|
|
|
|
+ ]
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
|
|
- $result = Client::getInstance()->post('/api/app/model/upload-file', [
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 文件流方式上传模型到引擎服务器
|
|
|
|
+ * @param \Illuminate\Http\UploadedFile $file
|
|
|
|
+ * @param array $params
|
|
|
|
+ * @return array
|
|
|
|
+ */
|
|
|
|
+ protected function uploadFileByStream(UploadedFile $file, array $params = []): array
|
|
|
|
+ {
|
|
|
|
+ return Client::getInstance()->post('/api/app/model/upload-file', [
|
|
'query' => [
|
|
'query' => [
|
|
'input' => json_encode([
|
|
'input' => json_encode([
|
|
- 'name' => $file->getClientOriginalName(),
|
|
|
|
|
|
+ 'name' => $params['name'] ?? '',
|
|
'initiatingUser' => Auth::user()->name,
|
|
'initiatingUser' => Auth::user()->name,
|
|
'uniqueCode' => Uuid::uuid4(),
|
|
'uniqueCode' => Uuid::uuid4(),
|
|
'priority' => 205,
|
|
'priority' => 205,
|
|
'isCAD' => $params['is_cad'],
|
|
'isCAD' => $params['is_cad'],
|
|
- "configJson" => ExtensionModelConfig::getConfigOption($params['extension']),
|
|
|
|
|
|
+ 'configJson' => ExtensionModelConfig::getConfigOption($params['extension']),
|
|
|
|
+ 'callbackInterfaceURL' => route('glendale.callback'),
|
|
])
|
|
])
|
|
],
|
|
],
|
|
- 'multipart' => $uploadFormData,
|
|
|
|
|
|
+ 'multipart' => ['name' => 'file', 'contents' => fopen($file, 'r+'), 'filename' => $params['name'] ?? ''],
|
|
]);
|
|
]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function uploadFile(UploadedFile $file, array $params = []): array
|
|
|
|
+ {
|
|
|
|
+ $modelDownloadUrl = $params['modelDownloadUrl'] ?? '';
|
|
|
|
+
|
|
|
|
+ if (!empty($modelDownloadUrl)) { //指定URL方式上传
|
|
|
|
+ $result = $this->uploadFileByUrl($modelDownloadUrl, $params);
|
|
|
|
+ } else { //文件流方式上传
|
|
|
|
+ $result = $this->uploadFileByStream($file, $params);
|
|
|
|
+ }
|
|
|
|
|
|
return [
|
|
return [
|
|
'bim_data_set_id' => $result['datas']['lightweightName'],
|
|
'bim_data_set_id' => $result['datas']['lightweightName'],
|