wp7 BackgroundTransferService を使用して画像をアップロードし、サーバーの応答を取得する方法は?
var transferRequest = new BackgroundTransferRequest(new Uri(Global.profileUploadServerUrl, UriKind.Absolute));
transferRequest.Method = "POST";
transferRequest.UploadLocation = new Uri(@"/shared\transfers/file.jpg", UriKind.Relative);
transferRequest.TransferPreferences = TransferPreferences.AllowCellularAndBattery;
transferRequest.Headers["Content-Type"] = "multipart/form-data";
transferRequest.TransferStatusChanged += new EventHandler<BackgroundTransferEventArgs>(transferRequest_TransferStatusChanged);
transferRequest.TransferProgressChanged += new EventHandler<BackgroundTransferEventArgs>(transferRequest_TransferProgressChanged);
BackgroundTransferService.Add(transferRequest);
static void transferRequest_TransferProgressChanged(object sender, BackgroundTransferEventArgs e)
{
// throw new NotImplementedException();
}
static void transferRequest_TransferStatusChanged(object sender, BackgroundTransferEventArgs e)
{
BackgroundTransferRequest request = sender as BackgroundTransferRequest;
if (request.TransferStatus == TransferStatus.Completed)
{
BackgroundTransferService.Remove(request);
if (request.StatusCode == 201)
{
MessageBox.Show("Upload completed.");
}
else
{
MessageBox.Show("An error occured during uploading. Please try again later." + request.StatusCode.ToString() + "/ " + request.TransferError);
}
}
}
画像の読み込みは成功したようですが、サーバーはステータス 206 を返します。サーバーからの応答を取得するにはどうすればよいでしょうか。ここに例が見えましたが、私はそれを理解していませんでした。 この例では、次の行があります。
request.DownloadLocation = new Uri (responsePath, UriKind.RelativeOrAbsolute);
指定する必要があるということですか?もしそうなら、それは同じURLを指定しますが、失敗します。一般に、画像サーバーをアンロードした後のアイデアは、画像へのリンクを含む応答を返す必要があります。しかし、彼は答えを出します 206. どのように答えを得るのですか?