C#将流写入Windows IoT上的.zip文件

C#将流写入Windows IoT上的.zip文件,c#,rest,download,uwp,windowsiot,C#,Rest,Download,Uwp,Windowsiot,我已经编写了一个UWP应用程序,通过REST请求下载文件。 该应用程序运行在带有Windows IoT的Raspberry Pi 3上 我想将“testStream”写入一个.zip文件并下载它。 . 这是我的密码: try { Uri uri = new Uri("http://xxxx:3080/cds/api/download/book/46795403-de-DE"); HttpWebRequest getRequest =

我已经编写了一个UWP应用程序,通过REST请求下载文件。 该应用程序运行在带有Windows IoT的Raspberry Pi 3上

我想将“testStream”写入一个.zip文件并下载它。 . 这是我的密码:

try
        {
            Uri uri = new Uri("http://xxxx:3080/cds/api/download/book/46795403-de-DE");
            HttpWebRequest getRequest = (HttpWebRequest)HttpWebRequest.Create(uri);
            getRequest.Method = "GET";
            getRequest.Headers["Authorization"] = "Bearer xyxyxy";
            HttpWebResponse response2 = await getRequest.GetResponseAsync() as HttpWebResponse;
            StreamReader streamReader2 = new StreamReader(response2.GetResponseStream());
            Stream testStream = response2.GetResponseStream();
            getResult = streamReader2.ReadToEnd();
            textBox2.Text = getResult;

            await Task.Run(() =>
            {
                Task.Yield();
                using (var fs = File.Create("\\myZipDownload.zip"))
                {
                    testStream.CopyTo(fs);
                }
            });
        }
我得到了这个错误:

"Access to the path 'C:\myZipDownload.zip' is denied."

你需要一个可写的目的地

您可以使用Environment.GetFolderPath获取可写路径


可能与Windows server 2008 R2重复!=谢谢!我现在可以下载这个文件了。但是它的大小是0字节。我在哪里失败?@k.troy2012,不确定,我知道
GetResponse
/
GetResponseAsync
将返回相同的
HttpWebResponse
对象,而不是“新”对象,因此,可能是因为您对
GetResponseStream
进行了两次调用,那么第二次流已经被读取,需要重新开始读取(我不确定web响应是否可能…)。尝试删除对
GetResponseStream
的所有调用,但用于写入文件的调用除外。还记得在此调用
Dispose
,或者使用语句将其包装在
中。我删除了另一个调用GetResponseStream,现在它可以正常工作了!