OneDrive REST API下载文件

时间:2014-09-21 15:42:35

标签: wcf rest memorystream onedrive

我在WCF Web服务中使用OneDrive的REST API。一切都运行良好,但下载文件。我需要获取已下载文件的Stream对象,但MemoryStream类给出了一个关于ReadTimeout和WriteTimeout的异常。 这是代码:

.... some code ....
var rClient = new RestClient("https://apis.live.net/v5.0/");
var rRequest = new RestRequest(rootFile.id + "/content", Method.GET);
rRequest.AddParameter("access_token", data.accessToken);
var rResponse = rClient.Execute(rRequest); // THE RESPONSE IS OK
byte[] array = rResponse.RawBytes;
Stream stream = new MemoryStream(array); // PROBLEM HERE!
return stream;

因此,当我创建Stream对象时,MemoryStream会在字段ReadTimeout和WriteTimeout上抛出2 Exception,表示此流不支持它们。 我不知道如何解决它

1 个答案:

答案 0 :(得分:0)

正如Will在评论中所建议的那样,我发现ReadTimeout和WriteTimeout上的异常并不是真正的问题。在上面发布的代码之后,调用方法中的null对象抛出了Exception。 下面是抛出Exception的地方:Current对象为null。

stream = client.DownloadFile(token);
if (stream != null)
{
    **WebOperationContext.Current.OutgoingResponse.ContentType = "text/octet-stream";** //HERE
    return stream;
}

我删除了该行,所有内容都已修复

相关问题