파일을 동시에 업로드 할 때 Autodesk Forge의 인증 문제

many_nachos

Autodesk forge 인증에 문제가 있습니다. 가끔 전화 할 때 401을받습니다 oss/v2/buckets/{key}/objects/{object}. 이것은 드물게 발생하지만 언급 할 가치가있는 것은 두 개의 다른 클라이언트에서 두 개의 동일한 파일을 동시에 업로드하려고 할 때 복제 할 수 있었던 한 가지 방법입니다.

이 시나리오는 일반적으로 작동, 또는 인용 브라이언 Fantana을 -

매번 작동하는 시간의 60 %.

이 문제를 어떻게 해결합니까? 몇 가지 지침이 매우 도움이 될 것입니다.

미리 감사드립니다.

강 이슨 |

이 문제를 스스로 해결했다는 소식을 듣게되어 기쁩니다. 업로드 할 때마다 토큰을 새로 고치면 이제이 문제가 해결 될 수 있지만 buckets/:bucketKey/objects/:objectName/resumable큰 파일을 청크로 업로드하는 데 사용 하는 것이 좋습니다 .

대용량 파일의 경우 공식 문서 에서 청크라고하는 여러 개의 작은 부분으로 분리 하여 buckets/:bucketKey/objects/:objectName/resumableAPI로 업로드하는 것이 좋습니다. 다음은 동료가 제공 한이 API 용 Forge C # SDK 의 C # 샘플입니다 .

private static dynamic resumableUploadFile()
{
  Console.WriteLine("*****Start uploading file to the OSS");
  string path = FILE_PATH;
  if (!File.Exists(path))
       path = @"..\..\..\" + FILE_PATH;

  //File Total size        
  long fileSize = new System.IO.FileInfo(path).Length;
  //Chunk size for separting file into several parts.
  //2MB chuck size is used in this sample.
  long chunkSize = 2 * 1024 * 1024 ;
  //Total amounts of chunks in 2MB size.
  long nbChunks = (long)Math.Round(0.5 + (double)fileSize / (double)chunkSize);

  ApiResponse<dynamic> finalRes = null ;
  using (FileStream streamReader = new FileStream(path, FileMode.Open))
  {
    //Unique id for resumable uploading.
    string sessionId = RandomString(12);
    for (int i = 0; i < nbChunks; i++)
    {
        //Start position in bytes of a chunk
        long start = i * chunkSize;
        //End position in bytes of a chunk
        //(End posistion of the latest chuck is the total file size in bytes)
        long end = Math.Min(fileSize, (i + 1) * chunkSize) - 1;

        //Identify chunk info. to the Forge
        string range = "bytes " + start + "-" + end + "/" + fileSize;
        //Steam size for this chunk
        long length = end - start + 1;

        Console.WriteLine("Uploading range: " + range);

        //Read content stream into a meomery stream for this chunk
        byte[] buffer = new byte[length];
        MemoryStream memoryStream = new MemoryStream(buffer);

        int nb = streamReader.Read(buffer, 0, (int)length);
        memoryStream.Write(buffer, 0, nb);
        memoryStream.Position = 0;

        //Upload file to the Forge OSS Bucket
        ApiResponse<dynamic> response = objectsApi.UploadChunk(
                                            BUCKET_KEY,
                                            FILE_NAME,
                                            (int)length,
                                            range,
                                            sessionId,
                                            memoryStream
                                        );

        finalRes = response;

        if (response.StatusCode == 202) {
            Console.WriteLine("One chunk uploaded successfully");
            continue;
        }
        else if (response.StatusCode == 200)
        {
            Console.WriteLine("Final chunk uploaded successfully");
        }
        else
        {
            //Some error occurred here
            Console.WriteLine(response.StatusCode);
            break;
        } 
    } 

  }

  return (finalRes);
}

이 도움을 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파일을 Firebase 저장소에 업로드 할 때 인증 오류

분류에서Dev

Autodesk forge 뷰어를 사용할 때 필요에 따라 모델의 다른 부분 (전체가 아님)을로드 할 수 있습니까?

분류에서Dev

Angular 7에서 Laravel로 파일을 업로드 할 때 발생하는 문제

분류에서Dev

jwt로 인증을 시도 할 때 Docusign 오류 "동의 필요"

분류에서Dev

svf 로의 Autodesk Forge 파일 변환이 작동하지 않음

분류에서Dev

Autodesk Forge API 업로드 파일

분류에서Dev

s3에 파일을 업로드 할 때 Carrierwave 파일 이름 방법 생성 문제

분류에서Dev

ssh로 로그인 할 때 파일을 업로드 하시겠습니까?

분류에서Dev

우분투의 셸에서 cpp 프로그램을 컴파일 할 때 문제

분류에서Dev

비동기 작업 및 소유 된 인스턴스로 Autofac을 업그레이드 할 때 문제

분류에서Dev

Ubuntu 16.04에서 802.1x 인증을 설정할 때 문제

분류에서Dev

2 개의 파일을 하나의 파일로 일괄 병합 할 때 문제

분류에서Dev

인덱스에 중복 열이있는 parquet 파일을로드 할 때 pyarrow 문제

분류에서Dev

node.js의 Google Cloud Storage에 파일을 업로드 할 때 오류 발생

분류에서Dev

CSV 파일을 postgres DB에 업로드 할 때 Python의 UnicodeEncode 오류

분류에서Dev

웹 앱용 파일 시스템에 업로드 된 파일을 저장할 때 문제를 처리하는 방법은 무엇입니까?

분류에서Dev

NTFS 파일 시스템에서 폴더의 권한을 변경할 때 문제

분류에서Dev

새로운 버전의 애플리케이션을 푸시 할 때 왜 muy 업로드 파일이 Heroku에서 삭제됩니까?

분류에서Dev

Slim Framework에서 파일을 다운로드 할 때 발생하는 문제

분류에서Dev

Angular에서 파일을 업로드 할 때 드롭 다운의 내용을 업데이트하는 방법

분류에서Dev

Jersey 파일을 업로드 할 때 사용자를 인증 할 수 없습니다.

분류에서Dev

Autodesk Forge Object Storage Service에서 업로드 및 다운로드 할 수있는 크기 제한은 얼마입니까?

분류에서Dev

Ubuntu의 파일을 외장 드라이브로 전송할 때 잘못된 파일 이름 문제

분류에서Dev

Ubuntu의 파일을 외장 드라이브로 전송할 때 잘못된 파일 이름 문제

분류에서Dev

16.10에서 Ubuntu 17.04로 업그레이드 할 때 파티션 문제

분류에서Dev

SSIS를 사용하여 인증 된 URL에서 파일을 다운로드 할 때 오류 발생

분류에서Dev

각도 앱에서 Azure AD 인증 (MSAL 포함)을 추가 할 때 CORS 문제

분류에서Dev

Django에서 업로드 할 때 업로드 된 파일의 파일 경로를 어떻게 얻나요?

분류에서Dev

동일한 이름의 파일을 업로드 할 때 기존 파일을 바꾸지 마십시오. Microsoft Graph API

Related 관련 기사

  1. 1

    파일을 Firebase 저장소에 업로드 할 때 인증 오류

  2. 2

    Autodesk forge 뷰어를 사용할 때 필요에 따라 모델의 다른 부분 (전체가 아님)을로드 할 수 있습니까?

  3. 3

    Angular 7에서 Laravel로 파일을 업로드 할 때 발생하는 문제

  4. 4

    jwt로 인증을 시도 할 때 Docusign 오류 "동의 필요"

  5. 5

    svf 로의 Autodesk Forge 파일 변환이 작동하지 않음

  6. 6

    Autodesk Forge API 업로드 파일

  7. 7

    s3에 파일을 업로드 할 때 Carrierwave 파일 이름 방법 생성 문제

  8. 8

    ssh로 로그인 할 때 파일을 업로드 하시겠습니까?

  9. 9

    우분투의 셸에서 cpp 프로그램을 컴파일 할 때 문제

  10. 10

    비동기 작업 및 소유 된 인스턴스로 Autofac을 업그레이드 할 때 문제

  11. 11

    Ubuntu 16.04에서 802.1x 인증을 설정할 때 문제

  12. 12

    2 개의 파일을 하나의 파일로 일괄 병합 할 때 문제

  13. 13

    인덱스에 중복 열이있는 parquet 파일을로드 할 때 pyarrow 문제

  14. 14

    node.js의 Google Cloud Storage에 파일을 업로드 할 때 오류 발생

  15. 15

    CSV 파일을 postgres DB에 업로드 할 때 Python의 UnicodeEncode 오류

  16. 16

    웹 앱용 파일 시스템에 업로드 된 파일을 저장할 때 문제를 처리하는 방법은 무엇입니까?

  17. 17

    NTFS 파일 시스템에서 폴더의 권한을 변경할 때 문제

  18. 18

    새로운 버전의 애플리케이션을 푸시 할 때 왜 muy 업로드 파일이 Heroku에서 삭제됩니까?

  19. 19

    Slim Framework에서 파일을 다운로드 할 때 발생하는 문제

  20. 20

    Angular에서 파일을 업로드 할 때 드롭 다운의 내용을 업데이트하는 방법

  21. 21

    Jersey 파일을 업로드 할 때 사용자를 인증 할 수 없습니다.

  22. 22

    Autodesk Forge Object Storage Service에서 업로드 및 다운로드 할 수있는 크기 제한은 얼마입니까?

  23. 23

    Ubuntu의 파일을 외장 드라이브로 전송할 때 잘못된 파일 이름 문제

  24. 24

    Ubuntu의 파일을 외장 드라이브로 전송할 때 잘못된 파일 이름 문제

  25. 25

    16.10에서 Ubuntu 17.04로 업그레이드 할 때 파티션 문제

  26. 26

    SSIS를 사용하여 인증 된 URL에서 파일을 다운로드 할 때 오류 발생

  27. 27

    각도 앱에서 Azure AD 인증 (MSAL 포함)을 추가 할 때 CORS 문제

  28. 28

    Django에서 업로드 할 때 업로드 된 파일의 파일 경로를 어떻게 얻나요?

  29. 29

    동일한 이름의 파일을 업로드 할 때 기존 파일을 바꾸지 마십시오. Microsoft Graph API

뜨겁다태그

보관