在windows商店应用程序中下载和上传文件的最佳用途是什么?
本文关键字:最佳 文件 是什么 windows 应用程序 下载和 | 更新日期: 2023-09-27 18:02:32
我试过使用很多类来下载和上传文件,加上添加头和身份验证,但这些类都不支持!
我尝试过backgrounddownloader, backgroundduploader, httpclient, httpwebclient, httprequestmessage类,但它们都失败了。
也许我错过了一些东西,所以如果有人知道一个类,支持下载和上传认证和头,请分享你的代码。
BackgroundTransfer API应该处理报头和认证。报头是在BackgroundDownloader和backgroundduploader的SetRequestHeader方法中设置的。这个方法被设计成多次调用,每个头文件调用一次。
它们都有ServerCredential和ProxyCredential属性。这些都是Windows.Security.Credentials.PasswordCredential对象(http://msdn.microsoft.com/library/windows/apps/windows.security.credentials.passwordcredential.aspx)的实例。您通常会按如下方式创建PasswordCredential:
var cred = new Windows.Security.Credentials.PasswordCredential(resource, userName, password);
,在这种情况下,资源只是一个字符串,用于标识凭据所应用的资源(通常与凭据锁API一起使用,在这里不那么重要)。
你是说头和信用分别工作而不是一起工作吗?你是如何测试它们的?
解决了,整个问题是请求方法,它需要一个post而不是get,我用wireshark软件解决了这个问题。
var uri = new Uri("");
var downloader = new BackgroundDownloader();
downloader.SetRequestHeader("Range", "bytes=0-");
downloader.Method = "POST";
downloader.SetRequestHeader("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundaryx5pLn3bHAS5Q8Ns5");
downloader.ServerCredential = new Windows.Security.Credentials.PasswordCredential()
{
UserName = signin.theusername,
Password = signin.thepassword
};