我无法使用以下代码下载文件。服务器需要先前检索的用于下载文件的cookie。
在Fiddler2中观察时,发送到服务器的请求标头缺少设置的cookie。
有没有理由说明cookie没有坚持backgrounddownloader
?设置User-Agent
之类的任何其他标题,此处未显示,但工作正常。
Windows.Storage.ApplicationData.current.temporaryFolder.createFileAsync(fileName, Windows.Storage.CreationCollisionOption.replaceExisting).then(function (newFile)
{
var uri = Windows.Foundation.Uri(uriString);
var downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader();
downloader.setRequestHeader("Cookie", cookie);
// Start the download asynchronously.
var promise = downloader.startDownloadAsync(uri, newFile);
// Persist the download operation.
operation = promise.operation;
// Assign callbacks associated with the download.
promise.then(completeCallback, error);
});
答案 0 :(得分:1)
我有同样的问题,我在msdn上问它。这是一个答案,但它仍然不适合我,你可以尝试以下代码
//twice calling SetRequestHeader
var downloader = new BackgroundDownloader();
downloader.SetRequestHeader("Cookie", "any non-empty string here");
downloader.SetRequestHeader("Cookie", "cookie1=something");
请参阅http://support.microsoft.com/kb/234486/en以获取详细的解决方法,尽管它与旧的XMLHttpRequest类相反。