В веб-службе я преобразовал документ Word, сохраненный в элементе списка, в байтовый массив, используя:
document.Bytes = item.File.OpenBinary ();
затем объединил его с некоторыми другими данными для получения следующего вывода JSON:
{"Bytes":[208,207,17,224,161,177,26,225,0,0,0,0,0,etc., etc.],"Status":"Pending","Title":"Handbook","Version":"1"}
На приемном конце я хочу извлечь документ Word. Это код, который я сейчас использую, чтобы попытаться извлечь байтовый массив, но просто не могу заставить его работать. Должно быть, я здесь на неправильном пути.
Есть мысли или идеи о том, как к этому подойти? Сначала это казалось простым делом, но потратило часы моего времени!
Примечание. В приведенном ниже коде GetDoc (url) вызывает веб-службу, которая создает JSON
using Newtonsoft.Json.Linq;
public byte[] GetJSONBytes(string url)
{
string ReturnJSON = GetDoc(url);
var objects = JArray.Parse(ReturnJSON); // parse as array
foreach (JObject root in objects)
{
foreach (KeyValuePair<String, JToken> app in root)
{
var appKey = app.Key;
if (appKey == "Bytes")
{
return (byte[])(app.Value);
}
}
}
return null;
}
Когда он попадает в очередь:
return (byte []) (app.Value);
Я получаю следующее сообщение об ошибке:
System.ArgumentException: «Не удается преобразовать массив в байтовый массив.»