我需要使用 Windows Phone 8.1 将文件上传到不受我控制的服务器。
文件上传完成后,服务器在HTTP的200 OK响应体中发送上传文件的链接。
要处理 Windows Phone 的后台场景,需要运行后台上传程序来上传文件,完成后需要获取包含上传文件链接的 HTTP 200 OK 的正文。
然而,直接前进并没有得到任何解决方案。
如果有人有办法完成这件事,会很有帮助
最佳答案
如果你在响应中有一些正文,那么你可以尝试这样的事情:
var request = new BackgroundTransferRequest(targetUri)
{
DownloadLocation = new Uri(downloadTo, UriKind.Relative),
UploadLocation = new Uri(uploadFrom, UriKind.Relative),
Method = "POST"
};
在这里,您的响应将写入在 DownloadLocation 路径中创建的文件中。
此外,在 WP8.1 中,我认为他们可以直接支持在后台 uploader 中访问响应。你可以试试看:
ResponseInformation response = upload.GetResponseInformation();
foreach (KeyValuePair<string, string> kvp in response.Headers)
{
Debug.WriteLine("Header: {0}, Value: {1}", kvp.Key, kvp.Value);
}
上传位置:
BackgroundUploader uploader = new BackgroundUploader();
UploadOperation upload = await uploader.CreateUploadAsync(uri, parts);
关于http - 如何获取 HTTP 响应正文,即使用 BackgroundUploader 下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23362705/