finaly я получил ответ на любой файл, который вы можете сохранить в db: -
Шаг 1: Получить информацию документа как двоичную (преобразовать весь текст в бинарный формат ascii, если у вас есть какой-либо функциональный оператор, он сломает ваш ЗАВЕРШЕННЫЙ ЗАПРОС).
Шаг 2: Получите расширения Docment, например (.docx, .pdf, .ppt), и включите их с помощью запроса INSERT QUERY.
blockquote>if (file != null && file.ContentLength > 0) { string contentType = file.ContentType; byte[] fileData = new byte[file.InputStream.Length]; file.InputStream.Read(fileData, 0, fileData.Length); string OriginalName = Path.GetFileName(file.FileName); string Username = User.Identity.Name; Models.File myFile = new Models.File(contentType, OriginalName, fileData, Username); myFile.Save(); }
3: При извлечении документов вы можете использовать это как
blockquote>public ActionResult Download() { string Originalname = string.Empty; byte[] FileData = null; var requestedID = RouteData.Values["id"]; if (requestedID.ToString() != null) { Guid id = new Guid(requestedID.ToString()); DataSet ds = new DataSet(); Models.UsersGroups dt = new Models.UsersGroups(); ds = dt.GetItem(id); foreach (DataRow item in ds.Tables[0].Rows) { Originalname = item["OriginalName"].ToString(); FileData = (byte[])item["FileData"]; } Response.AppendHeader("Content-Disposition", "attachment;filename=\"" + Originalname + "\""); Response.BinaryWrite(FileData); } return File(FileData, "application/x-unknown"); }