簡體   English   中英

rvt 文件的 Autodesk-forge 翻譯失敗

[英]Autodesk-forge translation failed for rvt file

我有一個 rvt 文件,它適用於 oss manager 應用程序,上傳和翻譯工作正常。 但我通過 CURL 調用上傳了相同的文件,文件上傳成功,我可以看到它在 OSS 管理器應用程序中列出,但在那里翻譯失敗。 似乎文件在上傳時已損壞。

CURL 調用 PHP 中的文件上傳:

$headers = array
(
'Content-Type: application/octet-stream',
'Authorization: Bearer '.$access_token,
);

$post = array(
        "file" => new CurlFile( 'manual.rvt' )
);
    
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://developer.api.autodesk.com/oss/v2/buckets/testriz/objects/manual.rvt' );
//curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, $post);
$result = curl_exec($ch );
curl_close( $ch );

CurlFile$post數組將導致錯誤的content-type和文件大小。 請改用file_get_contents 這是我的修訂:

<?php
    $access_token = '';
    $headers = array
    (
        'Content-Type: application/octet-stream',
        'Authorization: Bearer '.$access_token,
    );

    $file_realpath = './manual.rvt';
        
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_URL, 'https://developer.api.autodesk.com/oss/v2/buckets/testriz/objects/manual.rvt' );
    //curl_setopt( $ch,CURLOPT_POST, true );
    curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "PUT");
    curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
    curl_setopt( $ch, CURLOPT_POSTFIELDS, file_get_contents( $file_realpath ) );
    $result = curl_exec( $ch );

    $http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    print_r($http_status);
    print_r($result);

    curl_close( $ch );
?>

ref: Curl PHP PUT 請求更改文件內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM