Web services 需要Windows Phone 7图像上载到Web服务的帮助吗
基本上,我有一个RESTWebService,它在pc上自托管,我想从Windows7手机上传一个图像。很多对我来说都是新的,所以我一直在学习。我的问题是我无法将图像上载到Web服务。 下面是我正在使用的代码 我正在测试wifi连接,它已启动并正常工作。 我正在使用Fiddler,我可以看到手机/pc上的请求 使用仿真器,我可以让它工作,我得到了200个代码,可以将图像写入磁盘 当我试着用实际设备发帖时,我得到一个400响应码 我能得到的任何帮助都会很好。我一直在努力解决这个问题Web services 需要Windows Phone 7图像上载到Web服务的帮助吗,web-services,image,post,windows-phone-7,upload,Web Services,Image,Post,Windows Phone 7,Upload,基本上,我有一个RESTWebService,它在pc上自托管,我想从Windows7手机上传一个图像。很多对我来说都是新的,所以我一直在学习。我的问题是我无法将图像上载到Web服务。 下面是我正在使用的代码 我正在测试wifi连接,它已启动并正常工作。 我正在使用Fiddler,我可以看到手机/pc上的请求 使用仿真器,我可以让它工作,我得到了200个代码,可以将图像写入磁盘 当我试着用实际设备发帖时,我得到一个400响应码 我能得到的任何帮助都会很好。我一直在努力解决这个问题 //webse
//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);
}
}
听起来您有一个连接问题需要解决。也许可以尝试通过IP访问您的本地服务,并检查是否存在防火墙拦截。Hi,可以澄清它工作/不工作时的情况吗?您说过它在wifi上工作,而不是在可能存在相同条件的设备上。谢谢您的回复。当应用程序通过模拟器进行测试时,一切正常。我可以拨打GET电话并将图像从手机上传到服务。但是,当我将应用程序部署到一个设备上并对其进行测试时,image post不起作用。在设备上测试应用程序,我可以验证我是否有连接。我可以对该服务进行所有GET调用,但当我尝试将设备中的映像发布到该服务时失败。根据我的测试,我没有任何连接问题。我已经测试了有防火墙和没有防火墙。该手机应用程序向该服务打了几个GET电话,包括一个获取大型图像文件的电话。我打了一个POST电话,发送了一条大的短信,这一切都很好。我遇到的唯一问题是当我试图从手机设备上传图像时。