Я пишу службу отдыха WCF. Он будет использовать, чтобы получать и сохранять изображение. Я беру и отправлю изображение с помощью телефона Windows 7. Я могу отправить изображение, которое анализирует поток (на стороне обслуживания), но изображение не будет сохранено из-за «badparameter».Не удается отправить снимок в службе отдыха wcf
кода использовать, чтобы сделать снимок:
private void TakePictureAction()
{
//Show the camera
_camera.Show();
//Append when camera task finished.
_camera.Completed += delegate(object sender, PhotoResult e)
{
_photoImage = new BitmapImage();
_photoImage.SetSource(e.ChosenPhoto);
};
}
использования кода для отправки изображения (с острым отдыхом):
var client = new RestClient("http://127.0.0.1:81/Service.svc");
var request = new RestRequest("/uploadImage", Method.POST);
request.AddBody(_photoImage);
try
{
client.ExecuteAsync(request, response =>
{
//Do stuff
});
}
catch (Exception ex)
{
MessageBox.Show("error");
}
и код на стороне Serveur:
public void UploadImage(Stream fileStream)
{
if (fileStream != null)
{
string filePath = @"c:\";
using (FileStream fileToUpload = new FileStream(filePath + "ok.bmp", FileMode.Create))
{
byte[] byteArray = new byte[10000];
int bytesRead = 0;
do
{
bytesRead = fileStream.Read(byteArray, 0, byteArray.Length);
if (bytesRead > 0)
{
fileToUpload.Write(byteArray, 0, bytesRead);
}
} while (bytesRead > 0);
using (MemoryStream ms = new MemoryStream(byteArray))
{
Bitmap img = (Bitmap)Image.FromStream(ms);
img.Save(@"c:\img.bmp");
}
}
}
}
Мой Сервисный метод
[OperationContract]
[WebInvoke(UriTemplate = "/uploadImage", Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
void UploadImage(Stream img);
Где я ошибаюсь?
Возможно, вам нужно добавить еще '\\' в части img.save, а также в путь к файлу? –
thx это было частью проблемы. Но у меня возникла ошибка, когда я пытаюсь открыть изображение. Например, если изображение не в хорошем формате. – David