Android получение изображений из службы WCF Rest
Я довольно Новичок как в Android, так и в WCF. Я создаю пользовательскую таблицу с очень маленьким изображением в базе данных sql server как varbinary. В моей службе у меня есть следующий OperationContract:
[OperationContract]
[WebGet(UriTemplate = "users/{emailAddress}/Image", ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare)]
System.IO.Stream GetImage(string emailAddress);
Реализация:
public System.IO.Stream GetImage(string emailAddress)
{
//parse personID, call DB
string query = "Select profilePic from Flows_Users WHERE emailAddress= @emailAddress";
SqlConnection objConnection = new SqlConnection();
DataSet ObjDataset = new DataSet();
SqlDataAdapter objAdapater = new SqlDataAdapter();
SqlCommand objCommand = new SqlCommand(query, objConnection);
objCommand.Parameters.Add("emailAddress", SqlDbType.NVarChar).Value = emailAddress;
objConnection.ConnectionString = ConfigurationManager.ConnectionStrings["ConnStr"].ToString();
objConnection.Open();
byte[] pic = (byte[])objCommand.ExecuteScalar();
objConnection.Close();
// if (pic == null)
// return null;
OutgoingWebResponseContext context = WebOperationContext.Current.OutgoingResponse;
// //if (image_not_found_in_DB)
// //{
// // context.StatusCode = System.Net.HttpStatusCode.Redirect;
// // context.Headers.Add(System.Net.HttpResponseHeader.Location, url_of_a_default_image);
// // return null;
// //}
//// everything is OK, so send image
context.Headers.Add(System.Net.HttpResponseHeader.CacheControl, "public");
context.ContentType = "image/jpeg";
// context.LastModified = date_image_was_stored_in_database;
context.StatusCode = System.Net.HttpStatusCode.OK;
return new System.IO.MemoryStream(pic);
}
Есть ли способ прочитать это в представлении изображения Android? Я не смог сделать это способом base64 JSON, потому что строка продолжала заканчиваться каждый раз, когда я пытался поместить ее в JSONArray.
Любая помощь была бы признательна, я работаю над этим с субботы.