Извлечение двоичных данных и загрузка в связанный просмотрщик файлов
Я загрузил файл, используя RadUpload Control, и сохранил данные в двоичном формате. Теперь я получил двоичные данные, и мне нужно загрузить извлеченные двоичные данные в соответствующем средстве просмотра файлов...If (Docx в Word PDF в Adobe....if Text в программе просмотра текста)
Вот код, который я получил двоичные данные
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 или....
3 ответа
Я попробовал что-то подобное, но создал файл 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);
и это должно сделать это.