[英]What is the best use of download and upload files in a windows store app?
我尝试使用许多类来下载和上传文件,以及添加标头和身份验证,但是这些类都不支持两者!
我尝试了backgrounddownloader,backgrounduploader,httpclient,httpwebclient,httprequestmessage类,但是它们都使我失败了。
也许我错过了一些东西,所以如果有人知道支持通过身份验证和标头下载和上传的类,请共享您的代码。
应该使用BackgroundTransfer API处理标头和身份验证。 标头是在BackgroundDownloader和BackgroundUploader的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一起使用,此处并不重要)。
您是说标头和信用分别工作,但不能一起工作吗? 您如何测试它们?
解决了它,整个问题是请求方法,它需要一个帖子而不是获取,我通过使用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
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.