不能使用IsolatedStorageFile.CopyFile()來從網上下載的文件。
的快速和骯髒的方法是使用一個隱藏的WebBrowser控件:
XAML
<phone:WebBrowser x:Name="Browser" Navigated="Browser_Navigated" Visibility="Collapsed"></phone:WebBrowser>
<TextBlock x:Name="Text"></TextBlock>
C#
public MainPage()
{
InitializeComponent();
Browser.Navigate(new Uri("http://example.com/test.txt"));
}
private void Browser_Navigated(object sender, NavigationEventArgs e)
{
var store = IsolatedStorageFile.GetUserStoreForApplication();
var filename = "InTheRoot.txt";
if (store.FileExists(filename)) store.DeleteFile(filename);
using (var stream = store.CreateFile(filename))
{
using (var writer = new StreamWriter(stream))
{
writer.Write(Browser.SaveToString());
}
}
using (var file = store.OpenFile(filename, FileMode.Open))
{
using(var reader = new StreamReader(file))
{
Text.Text = reader.ReadToEnd();
}
}
}
有這樣做的主要問題是,它包裝了文本,文件內容在<HTML> <BODY>元素。
這不是真正的建議,但它會讓你啓動和運行。
更好的方法來檢索網頁內容使用BackgroundTransferRequest詳細的here和here
爲什麼不直接使用'File.Copy(rootfile的,「http://example.com/test.txt」,真);'?此代碼不起作用?任何錯誤或異常消息? –
您需要提供更多信息 –
非靜態字段,方法或屬性'System.IO.IsolatedStorage.IsolatedStorageFile.CopyFile(string,string,bool)需要對象引用 - 出現此錯誤 – Tany3450