2015-09-28 4 views
0

im в настоящее время работает над проектом, осуществляющим управление файлами, и я просто закончу код для загрузки файла в мою базу данных (.mdf), однако я понятия не имею, как загрузить файл обратно в мою папку (или где-нибудь еще). Я вижу, что люди загружаются из ASP.Net, или базы данных web sql, но я хочу, чтобы кто-нибудь мог сказать мне, как загрузить его из базы данных mdf.Как загрузить файл из базы данных mdf в C#

private void find_Click(object sender, EventArgs e) 
{ 
    OpenFileDialog dlg = new OpenFileDialog(); 
    if (dlg.ShowDialog() == DialogResult.OK) 
    { 
    string Path = dlg.FileName.ToString(); 
    PathBox.Text = Path; 
    PicBox.location = Path; 
    } 
} 

private void save_Click(object sender, eventargs e) 
{ 
    byte[] Doc = null; 
    Filestream fs = new FileStream(this.PathBox.Text, FileMode.Open, FileAccess.Read); 
    BinaryReader br = new BinaryReader(fs); 
    Doc = br.ReadBytes((int)fs.Length); 

    string DS = "datasource = localDB ......"; 
    string Insertcmd = "insert into ......"; 
    MySqlConnection conn = new MySqlConnection(DS); 
    MySqlCommand cmd = new MySqlCommand(Insertcmd, conn); 
    MySqlDataReader msdr; 

    try 
    { 
     conn.Open(); 
     cmd.Parameter.Add(new MySqlParameter("@Document", Doc)); 

     msdr = cmd.ExecuteReader(); 
     MessageBox.Show("file saved"); 
     While (msdr.Read()) 
     { 
     } 
    catch (Exception ex) 
    { 
    } 
} 

Может ли кто-нибудь дать мне код, который можно загрузить из базы данных .mdf? или даже любой намек будет очень полезно

благодаря

+0

Выберите файл из базы данных и напишите массив байтов на диск, например: http://stackoverflow.com/questions/381508/can-a-byte-array-be-written-to-a-file- in-c Искать «написать массив байтов на диск». – GrandMasterFlush

+0

@GrandMasterFlush большое спасибо, это очень помогает :) – UnseenRoad

+0

@GrandMasterFlush Привет, у меня есть вопрос, не могли бы вы проверить эту ссылку: http://stackoverflow.com/questions/32939079/value-cannot-be- null-parameter-name-bytes-suggestion-please – UnseenRoad

ответ

0

HI Это кажется, что вы сохраняете файл в двоичном формате (BLOB) объекта? Итак, когда вы хотите показать изображение после получения из базы данных, вы можете прочитать его с помощью потока памяти и показать его. или, может быть, использовать context.Response.BinaryWrite() для вывода изображения.

http://csharpdotnetfreak.blogspot.com/2009/07/display-images-gridview-from-database.html может быть полезно.

+0

спасибо за ответ, im не уверен, что im сохраняет его как BLOB - все еще учится использовать C#, но в основном это для документов PDF и документов Word, которые будут содержать как текст и фотографии. Я попробую ваш код, чтобы узнать, могу ли я вывести файл: p – UnseenRoad

Смежные вопросы