这是我第一次在 StackOverflow 上写作。我的问题如下。
我正在尝试基于 cpprest sdk CasaBlanca 项目编写 OneDrive C++ API:
https://casablanca.codeplex.com/
特别是,我目前正在对 OneDrive 文件执行读取操作。
实际上,我已经能够使用以下代码下载整个文件:
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()
这段代码基本上是在计算机上下载整个文件(file_id 是我要下载的文件的 id)。当然,我可以从文件中提取输入流并使用它来读取文件。
但是,如果文件很大,这可能会给我带来问题。我的想法是在调用者读取文件时下载文件的一部分(如果他回来,则缓存该部分)。
那么,我的问题是:
是否可以使用 OneDrive REST + cpprest 下载存储在 OneDrive 上的文件的一部分。我发现分块上传文件似乎显然是不可能的(OneDrive 的分块上传(可恢复上传)?)。下载也是如此吗?
提前感谢您的宝贵时间。
此致,
朱塞佩