2017-02-15 10 views
0

何が間違っていますか? 私は自動化を持っていますが、私はバケツを持っていますが、私はファイルを持っていますがアップロードできませんし、UploadObjectを使用するには大きすぎます。ここUploadChunk Autodesk API

は私のコード

using (StreamReader streamReader = new StreamReader(filePath)) 
      { Byte[] buffer = new Byte[2097153]; 
       var QtdeBytesFaltantes = streamReader.BaseStream.Length; 
       var byteInicio = 0; 
       var byteFim = 0; 
       while (QtdeBytesFaltantes > 0) 
       { 
        byteFim = await streamReader.BaseStream.ReadAsync(buffer, 0, buffer.Length); 
        await objectsApi.UploadChunkAsync(bucketKey, 
         Path.GetFileName(filePath), 
         (int)streamReader.BaseStream.Length, 
         "bytes " + byteInicio + "-" + byteFim + "/" + (int)streamReader.BaseStream.Length, 
         "IdUnicoDaSessao", 
         streamReader.BaseStream); 

        QtdeBytesFaltantes -= buffer.Length; 
        byteInicio = byteFim + 1; 
       } 

       dynamic response = await objectsApi.GetObjectAsync(bucketKey, Path.GetFileName(filePath)); 

       return response; 

答えて

0

のアップロードの一部だあなたは.Net Forge SDKとC#を使用しているようです。チャンクを使用する

例はチャンクが少なくとも2Mバイト(ここでは最小で5 MBをお勧めしますが、2Mバイトがシステムによって実施される)である必要がhere

に位置しています。最後の部分だけが2 Mb未満になることができます - 詳細はthis articleを参照してください。

上記のサンプルを使用する場合、チャンクの長さを計算する計算が正しくないと思われます。チャンク範囲の定義を印刷して、自分と比較することができます。

+0

は、あなたのコメントは私をたくさん助けたシリルありがとう、それがお役に立てば幸いです。しかし、まだ私に迷惑をかけることが1つあります。あなたが私に言った例をテストしたところ、22MBのファイルはアップロードに240秒かかっています。それは正しくありません。(少なくとも私はそうは思わない) –

+0

あなたはそれをダウンロードしようとしましたか?同じサンプルからダウンロードコマンドを使用して結果を比較した後に?ねえ、同じでなければなりません。 – cyrille

+0

私はドロップボックスファイルを使用してファイルをダウンロードし、それを自分のサーバーに書き込んだ後、フォージバケットにアップロードしてそれを翻訳します。どのように改善するためのアイデア? ps:5MBのチャンクあたり約1分かかります。 –

関連する問題