이것은 StackOverflow에서 처음 작성한 것입니다. 내 질문은 다음과 같습니다.OneDrive Rest API로 청크 다운로드
나는 cpprest SDK 카사 블랑카 프로젝트를 기반으로 원 드라이브 C++ API를 작성하는 것을 시도하고있다 : 특히
https://casablanca.codeplex.com/
, 나는 현재 원 드라이브 파일에 대한 읽기 작업을 구현하고있다.
사실, 나는 다음과 같은 코드로 전체 파일을 다운로드 할 수 있었다 :
이 코드는 기본적으로 FILE_ID 내가하려고하고있는 파일의 ID입니다 (컴퓨터에 전체 파일을 다운로드하는http_client api(U("https://apis.live.net/v5.0/"), m_http_config);
api.request(methods::GET, file_id +L"/content").then([=](http_response response){
return response.body();
}).then([=](istream is){
streambuf<uint8_t> rwbuf = file_buffer<uint8_t>::open(L"test.txt").get();
is.read_to_end(rwbuf).get();
rwbuf.close();
}).wait()
다운로드). 물론 파일로부터 입력 스트림을 추출하여 파일을 읽는 데 사용할 수 있습니다.
그러나 파일 크기가 커지면이 문제가 발생할 수 있습니다. 내가 염두에두고 있던 것은 호출자가 파일을 읽는 동안 파일의 일부를 다운로드하는 것이었다.
그런 다음, 내 질문은 다음과 같습니다 는 원 드라이브에 저장된 파일의 일부를 다운로드 cpprest 원 드라이브 REST +를 사용 가능한가. 나는 덩어리로 파일을 업로드하는 것이 분명히 불가능한 것 같습니다 ( Chunked upload (resumable upload) for OneDrive?). 다운로드에도 해당됩니까?시간 내 주셔서 감사합니다.
안부,
주세페
고맙습니다! 아는 한 파일 업로드를 위해 헤더를 지정할 수도 있습니다. –
Range는 위에서 수행 한 작업과 같은 HTTP 검색 요청 만 의미합니다. 이론적으로 Content-Range 헤더는 청크 업로드 메커니즘을 용이하게하는 데 사용될 수 있지만 OneDrive가 다른 의미에서 찾은 것처럼 현재는 이러한 의미를 지원하지 않습니다. – Brad
청크 업로드가 OneDrive와 어떻게 작동하는지 설명하는 문서가 있습니다. https://gist.github.com/rgregg/37ba8929768a62131e85를 읽고 시나리오에 적합한 지 확인하십시오. – Brad