サーバー側のコードは、
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "UploadDamagedImage", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json)]
NewClsMessage UploadDamagedImage(Details ObjDt123);
クライアント側のコードは、
Details ObjDt = new Details();
ObjDt.Name = "hi";
ObjDt.Email = "hi@gmail.com";
ObjDt.ContactNumber = "3698754215";
ObjDt.DeviceModel = "E23";
ObjDt.Problem = "Repair";
ObjDt.Besttimetocontact = "9am";
ここで、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。クライアント側とサーバー側の両方で同じオブジェクト名を使用する必要はありますか? この問題を解決するには?
編集
クライアントコードは、
Uri uri = new Uri("http://localhost:53865/Service1.svc/UploadDamagedImage");
Details ObjDt = new Details();
ObjDt.Name = "hi";
ObjDt.Email = "hi@gmail.com";
ObjDt.ContactNumber = "3698754215";
ObjDt.DeviceModel = "E23";
ObjDt.Problem = "Repair";
ObjDt.Besttimetocontact = "9am";
byte[] bytes = File.ReadAllBytes(@"D:\Projects\6mb\1.jpg");
ObjDt.ImgUpload = bytes;
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Details));
MemoryStream mem = new MemoryStream();
ser.WriteObject(mem, ObjDt);
string data = Encoding.UTF8.GetString(mem.ToArray(), 0, (int)mem.Length);
WebClient webClient = new WebClient();
webClient.UploadStringCompleted += new UploadStringCompletedEventHandler(webClient_UploadStringCompleted);
webClient.Headers["Content-type"] = "application/json";
webClient.Encoding = Encoding.UTF8;
webClient.UploadStringAsync(uri, "POST", data);
サーバー側のコードは、
public NewClsMessage UploadDamagedImage(Details ObjDt123)
{
NewClsMessage ObjNewClsMessage = new NewClsMessage();
try
{
Random rand = new Random();
int strRandNo = rand.Next();
MemoryStream ms = new MemoryStream(ObjDt.ImgUpload);
Image image = Image.FromStream(ms);
}
catch (Exception ex)
{
}
}