Я загрузил файл с помощью RadUpload Control и сохранил данные в двоичном формате. Теперь я получил двоичные данные, и мне нужно загрузить Восстановленные двоичные данные в соответствующем средстве просмотра файлов... Если (Docx в Word Pdf в Adobe.... если текст в текстовом редакторе)
Вот код, который я получил двоичные данные
string json = class.HttpGet("http://localhost/Service/User.svc/ServiceName");
json = Regex.Unescape(json);
dt = (DataTable)JsonConvert.DeserializeObject(json.Trim(new Char[] { ' ', '"', '.' }), typeof(DataTable));
string data=dt.Rows[0]["Document"].ToString();
byte[] Data = Convert.FromBase64String("data");
Я получил данные в байт-массиве, теперь мне нужно хранить данные в Docx или Pdf или....
Я пробовал что-то вроде этого, но создал файл Docx без данных, которые я загрузил.......
byte[] Data = Convert.FromBase64String(dt.Rows[0]["Document"].ToString());
FileStream fs = new FileStream(@"D:\filename.docx", FileMode.Create);
fs.Write(Data, 0, Data.Length);
fs.Close();
Пробовал вот так.... (но все равно не получил результата)
Response.Buffer = true;
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = dt.Rows[0]["RowId"].ToString();
Response.AddHeader("content-disposition", "attachment;filename="
+ dt.Rows[0]["FileName"].ToString());
Response.BinaryWrite(Data);
Response.Flush();
Response.End();
вы можете использовать что-то вроде File.WriteAllBytes() для правильной записи массива байтов в файл.
просто делай
File.WriteAllBytes("D:\\filename.docx", Data);
и это должно сделать это.