我刚刚开始了一个关于 WCF 的新项目,老实说,我对此很陌生,知识有限。
所以我要做的是打开一个存储在我电脑中的文件(例如word、pdf等)并以JSon格式在网页中显示内容。我将文件转换为字节数组并尝试显示Stream
. 当我这样做时,它要求我打开文件或保存它。我不希望这样 - 我只想在我调用该方法时将文件的内容显示在我的本地主机上。
这是我所拥有的:
public string GetRawFile()
{
string file = @"C:\.....\TestFile.pdf";
byte[] rawFile = File.ReadAllBytes(file);
//Stream stream = new MemoryStream(rawFile);
//DataContractJsonSerializer obj = newDataContractJsonSerializer(typeof(string));
//string result = obj.ReadObject(stream).ToString();
//Deserializing
MemoryStream stream = new MemoryStream();
BinaryFormatter binForm = new BinaryFormatter();
stream.Write(rawFile, 0, rawFile.Length);
stream.Seek(0, SeekOrigin.Begin);
Object obj = (Object) binForm.Deserialize(stream);
System.Web.Script.Serialization.JavaScriptSerializer xyz = new System.Web.Script.Serialization.JavaScriptSerializer();
string ejson = xyz.Serialize(obj);
WebOperationContext.Current.OutgoingRequest.ContentType = "text/json";
return ejson;
}
我正在尝试返回一个字符串,但它不起作用,但是当我只返回流时,它会弹出“openwith”消息。
我也应该在我的数据合同上使用GET
or POST
。我在 C# 中使用 REST。