मैं इस बहुत ही सरल डीटीओ है से एक छवि लौटने वाले:एक RESTful WCF सेवा
[DataContract]
public class DTO
{
[DataMember]
public byte[] Image {get; set; }
}
और यह बहुत ही सरल सेवा:
[ServiceContract]
public interface IFooService
{
[WebGet(
UriTemplate = "",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
List<DTO> GetDTOs();
}
मेरी Global.asax में, मेरे पास है:
RouteTable.Routes.Add(new ServiceRoute("foo",
new WebServiceHostFactory(), typeof(FooService)));
अब, जब मैं इसे अपने ब्राउज़र से कॉल करता हूं, तो मुझे JSON प्रारूप में बाइट्स की एक सरणी मिल रही है। अच्छा रहा अब तक। अब, मैं बाइट्स की उस सरणी को एक छवि में कैसे बदलूं?
या, क्या इसके बारे में जाने का एक बेहतर तरीका है? मैंने byte[]
को Stream
में बदलने की कोशिश की, लेकिन फिर जब मैं फ़ायरफ़ॉक्स से सेवा कहता हूं, 200 के HTTP स्टेटस कोड के बावजूद प्रतिक्रिया खाली है। मैं फायरबग और फिडलर का उपयोग कर रहा हूं।
मुझे नहीं लगता कि यह प्रासंगिक है, लेकिन बाद से बहुत ज्यादा जानकारी किसी को भी, जो एक रोबोट नहीं था चोट कभी नहीं, यहाँ web.config है:
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</modules>
</system.webServer>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
अंत में, मुझे लगता है कि सवाल यह है: कैसे करना है आप डब्लूसीएफ रीस्टफुल सेवा से बिटमैप लौटाते हैं, इसलिए ब्राउज़र में चल रहे जावास्क्रिप्ट स्क्रीन पर इसे फेंक सकता है?
मैं यहां नीचे वोट के तर्क को समझ नहीं सकता। –