用.net上传文件
本文关键字:文件 net | 更新日期: 2023-09-27 18:05:30
现在我已经意识到我不能使用正常的.NET
来编写我的Windows商店应用程序,我正试图通过.NET
来处理Windows商店应用程序的混乱。我的最新发现是System.Net.WebClient
类缺失,我需要用它来上传一个文件。如果有这个类,我就会这样做:
webClient.UploadFile("http://my.website/upload.php?a=" + someParam, "POST", filepath);
不幸的是,我不能在。net for windows store中这样做。我如何用。net实现类似的功能呢?
我尝试HttpClient类- http://msdn.microsoft.com/en-us/library/system.net.http.httpclient.aspx -它有Post方法,如果您查看这里的answerenter链接描述,它显示了如何为文件上传创建多部分数据。
首先需要获得对StorageFile
的引用。使用FileOpenPicker
是一种方法:
var filePicker = new FileOpenPicker();
filePicker.FileTypeFilter.Add(".txt");
var file = await filePicker.PickSingleFileAsync();
然后使用以下代码上传文件(我没有尝试过,因为我没有一个上传页面,但它应该工作):
using (var randomStream = (await file.OpenReadAsync()))
{
using (var stream = randomStream.AsStream())
{
using (var content = new StreamContent(stream))
{
var httpClient = new HttpClient();
await httpClient.PostAsync(uri, content);
}
}
}