Windows phone 8 将照片上载到Web API时,始终为0字节

Windows phone 8 将照片上载到Web API时,始终为0字节,windows-phone-8,asp.net-web-api,Windows Phone 8,Asp.net Web Api,我有以下内容,它上传没有错误,但图像总是0字节 Windows Phone应用选择或拍照后调用此应用程序: private void AddImage(PhotoResult e) { if (e.TaskResult == TaskResult.OK) { string serviceUri = Globals.GreedURL + @"API/UploadPhoto/test5.jpg"; HttpWebRequest requ

我有以下内容,它上传没有错误,但图像总是0字节

Windows Phone应用选择或拍照后调用此应用程序:

private void AddImage(PhotoResult e)
    {
      if (e.TaskResult == TaskResult.OK)
      {
        string serviceUri = Globals.GreedURL + @"API/UploadPhoto/test5.jpg";
        HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(serviceUri);
        request.Method = "POST";
        request.BeginGetRequestStream(result =>
        {
          Stream requestStream = request.EndGetRequestStream(result);
          e.ChosenPhoto.CopyTo(requestStream);
          requestStream.Close();
          request.BeginGetResponse(result2 =>
          {
            try
            {
              HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result2);
              if (response.StatusCode == HttpStatusCode.Created)
              {
                this.Dispatcher.BeginInvoke(() =>
                {
                  MessageBox.Show("Upload completed.");
                });
              }
              else
              {
                this.Dispatcher.BeginInvoke(() =>
                {
                  MessageBox.Show("An error occured during uploading. Please try again later.");
                });
              }
            }
            catch
            {
              this.Dispatcher.BeginInvoke(() =>
              {
                MessageBox.Show("An error occured during uploading. Please try again later.");
              });
            }
            e.ChosenPhoto.Close();
          }, null);
        }, null);
}
下面是Web API:

 public class UploadPhotoController : ApiController
      {
        public HttpResponseMessage Post([FromUri]string filename)
        {
          var task = this.Request.Content.ReadAsStreamAsync();
          task.Wait();
          Stream requestStream = task.Result;

          // Retrieve storage account from connection string.
          CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);

          // Create the blob client.
          CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

          // Retrieve reference to a previously created container.
          CloudBlobContainer container = blobClient.GetContainerReference("profilepics");
          container.CreateIfNotExists();

          var permissions = container.GetPermissions();
          permissions.PublicAccess = BlobContainerPublicAccessType.Blob;
          container.SetPermissions(permissions);

          string uniqueBlobName = string.Format("test.jpg");

          CloudBlockBlob blob = container.GetBlockBlobReference(uniqueBlobName);
          blob.Properties.ContentType = "image\\jpeg";

          blob.UploadFromStream(task.Result);

          HttpResponseMessage response = new HttpResponseMessage();
          response.StatusCode = HttpStatusCode.Created;
          return response;
        }
}
有什么想法吗?
任何帮助都将不胜感激。

这似乎是我遇到的问题。用于上载的应用程序。现在,它在手机上从不上传,但在wifi上可以顺利上传。就个人而言,它在后台传输、异步HttpWebRequest和异步WebClient上都失败了。这有解决过吗?