基本的に私は自分自身がPC上でホストされている残りのWebサービスを持っていて、Windows 7の電話機から画像をアップロードします。これはたくさんのことが私には新しいものなので、私が行くにつれて学びました。私の問題は、Webサービスに画像をアップロードできないことです。
以下は私が使用しているコードです。Windows Phone 7のヘルプ画像がwebserviceにアップロードされています
私はWi-Fi接続でテストしていますが、動作しています。私はバイオリンを使用していると私は、要求が、私は一種のこの作業を取得することができエミュレータを使用して携帯電話/ PCへとから
を行く見ることができます (私は200のコードを取得し、ディスクにイメージを書き込むことができます)
実際のデバイスで投稿しようとすると、私は400応答コードを返します。
私が得ることができるどんな助けも素晴らしいだろう。私はこのバグを解決しようとしている私の車輪を回転させている。
//webserice code
[ServiceContract]
public interface ItestService
{
[OperationContract, WebInvoke(Method = "POST", UriTemplate = "PostTest/{targetID}")]
string PostTest(string targetID, Stream image);
}
//from service def
public string PostTest(string targetID, System.IO.Stream image)
{
string id = WriteImageToDisk(image, targetID);
return id;
}
//phone code
private void SendImage1()
{
string address = ServiceURI + "/PostTest";
Uri baseAddress = new Uri(address);
var req = HttpWebRequest.Create(baseAddress) as HttpWebRequest;
req.Method = "POST";
req.ContentType = "image/jpeg";
req.BeginGetRequestStream(SendImagePost_Callback, req);
}
private void SendImagePost_Callback(IAsyncResult result)
{
try
{
var req = result.AsyncState as HttpWebRequest;
using (var strm = req.EndGetRequestStream(result))
{
var bytesToWrite = RawContent();
strm.Write(bytesToWrite, 0, bytesToWrite.Length);
strm.Flush();
}
req.BeginGetResponse(SendImageResponce_Callback, req);
}
catch (Exception ex)
{
DisplayMessage(this.txtError, ex.Message);
}
}
private void SendImageResponce_Callback(IAsyncResult result)
{
try
{
var req = result.AsyncState as HttpWebRequest;
var strm = resp.GetResponseStream();
var reader = new StreamReader(strm);
DataContractSerializer ser = new DataContractSerializer(typeof(string));
string id = ser.ReadObject(strm).ToString();
DisplayMessage(this.txtAction, id);
}
catch (Exception ex)
{
DisplayMessage(this.txtError, ex.Message);
}
}
こんにちは、それが動作するかどうかの条件を明確にすることはできますか?あなたは、Wi-Fiで動作し、潜在的に同じ状態のデバイスではないと言いました。 –
ご返信ありがとうございます。アプリがエミュレータからテストされると、すべて正常に動作します。私はGETコールを作成し、電話からサービスに画像をPOSTすることができます。しかし、私はデバイスにアプリケーションを展開し、それをテストする画像のポストは動作しません。デバイス上でアプリケーションをテストすると、私は接続があることを確認することができます。私はサービスへのGETコールをすべてうまくいくことができますが、デバイスからサービスにイメージをPOSTしようとすると失敗します。 – user503926