簡體   English   中英

將文件上傳到UWP項目中的WebDAV

[英]Upload file to WebDAV in UWP project

我試圖使用Portable-WebDAV-Library在我的代碼上實現對WebDAV存儲的寫操作

var credentials = new NetworkCredential("user", "password");
var webDavSession = new WebDavSession(@"https://...", credentials);
Uri uri = new Uri("https://.../SubDir/somefile.txt");

try
{
  using (MemoryStream ms = new MemoryStream())
  {
    using (StreamWriter sw = new StreamWriter(ms))
    {
      sw.Write(DateTime.Now.ToString("G"));
      sw.Flush();
      ms.Position = 0;
    }

    await webDavSession.UploadFileAsync(uri, ms);
  }
}
catch (Exception ex)
{
}

拋出異常“無法將指定的Stream用作Windows運行時IInputStream,因為此Stream不可讀。” 我已經嘗試過IRandomAccessStream和IOutputStream但是產生了其他異常。

問題是, StreamWriter在其使用塊結束時關閉了MemoryStream 因此,從await webDavSession.UploadFileAsync(uri, ms);之前移動} await webDavSession.UploadFileAsync(uri, ms); 解決了這個問題:

之前:

  ms.Position = 0;
}

await webDavSession.UploadFileAsync(uri, ms);

后:

  ms.Position = 0;
  await webDavSession.UploadFileAsync(uri, ms);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM