Я только что начал новый проект по WCF, и, честно говоря, я очень новичок в этом с ограниченными знаниями.Получение Json вывода из массива байтов
Так что я пытаюсь открыть файл, который хранится на моем компьютере (например, 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
или POST
на моем datacontract. Я использую REST в C#.
Я просто хочу импортировать любой файл и получить результат в Json .... это возможно ... Я пытаюсь открыть обычный PDF-файл, и именно поэтому я конвертирую файл в поток. – Arka
@Arka Для этого вам придется десериализовать ваш pdf-файл, и для этого недостаточно массива байтов. Формат является проприетарным, поэтому вы не можете просто читать его как обычный текст. Чтобы прочитать файл как json, он должен содержать действительный json. В противном случае вам нужно будет создать некоторые объекты в коде, тогда вы можете сериализовать их в строки json, но вы не можете просто взять байты из любой случайной вещи и записать их как json. – evanmcdonnal
Большое спасибо за ваш ответ ... знаете ли вы, как я могу десериализовать PDF или текстовый файл в Json? любая помощь была бы принята с благодарностью – Arka