繁体   English   中英

Windows应用商店中下载和上传文件的最佳用途是什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM