2017-05-27 68 views
0

我正在開發一個使用webview顯示網頁的uwp項目。我想從網址本地保存網頁。我試過很少這些how to save the webpage using c#?如何使用C#在UWP中將網頁保存爲html文件?

但它似乎並沒有工作,因爲解決方案是基本的Windows窗體應用程序。

請原諒,如果我提出的任何錯誤提問,因爲我是全新的stackoverflow。

+0

*「它似乎沒有工作」*不是問題陳述。 – IInspectable

+0

其錯字,對不起。我試過這些例子,但他們沒有工作。任何幫助? –

+0

*「他們不工作」*也不是問題陳述。開發人員知道問題陳述是什麼。 – IInspectable

回答

0

我想從一個url本地保存一個網頁。

它與Windows窗體類似。嘗試向URL發送獲取請求,並獲取緩衝區或HTML內容。要發送獲取請求,您可以使用HttpClient。然後將html緩衝區保存爲一個格式爲.html的本地文件。例如:

HttpClient httpclient = new HttpClient(); 
var result = await httpclient.GetBufferAsync(new Uri("https://www.microsoft.com/en-sg/")); 
StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("test2.html", CreationCollisionOption.ReplaceExisting); 
await FileIO.WriteBufferAsync(file, result); 

下載後,您可能會在C:\Users\{username}\AppData\Local\Packages\{PackageId}\LocalState找到下載的文件。請參考Files, folders, and libraries

+0

感謝您的一個很好的解釋,但我怎麼想得到我正在下載的文件的原始文件名? –

+0

@VivekVaishya,你沒有下載一個網頁?網頁的名稱是什麼?如果我誤解了你,請詳細說明。 –

+0

是的,你的方法適用於下載網頁。現在我試圖下載像圖片這樣的小文件,但我需要有圖片的原始名稱。我通過msdn嘗試了這種方法 - https://docs.microsoft.com/en-us/uwp/api/windows.networking.backgroundtransfer.backgrounddownloader。但HandleDownloadAsync(下載,true)顯示異常;行 –