Translate

> C# winform read write any file to Database

C# winform read write any file to Database

Posted on Monday, December 26, 2016 | No Comments




Browse File for Save to DB

string fileName="";
 object file;
 string ext="";
 private void LoadFile()
        {
            OpenFileDialog OpenFileDialog = new OpenFileDialog();
            OpenFileDialog.Title = "Open File...";
            //OpenFileDialog.Filter = "Binary File (*.bin)|*.bin";
            OpenFileDialog.InitialDirectory = @"C:\";
            if (OpenFileDialog.ShowDialog() == DialogResult.OK)
            {
                byte[] file;
                using (var stream = new FileStream(OpenFileDialog.FileName, FileMode.Open, FileAccess.Read))
                {
                    using (var reader = new BinaryReader(stream))
                    {
                        file = reader.ReadBytes((int)stream.Length);
                    }
                }
                fileName = OpenFileDialog.FileName;
                file = file;
                ext = Path.GetExtension(OpenFileDialog.FileName);
            }
        } 
 
During Save operation use file object as byte array and save to database.
for easy save use entity framework .
where i have select datatype for sql server is varbinary(MAX).
 
 View File to user
 
private void ViewDocument(Label lblloc, string fileName)
        {
            try
            {
                if (file == null)
                {
                    MessageBox.Show("No file for view");
                    return;
                }

                SaveFileDialog savefile = new SaveFileDialog();
                // set a default file name
                savefile.FileName = fileName + ext;
                // set filters - this can be done in properties as well
                savefile.Filter = "All files (*.*)|*.*";

                if (savefile.ShowDialog() == DialogResult.OK)
                {
                    // using (StreamWriter sw = new StreamWriter(savefile.FileName))
                    //      sw.WriteLine("Hello World!");

                    ByteArrayToFile(savefile.FileName, file as byte[]);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }


  public bool ByteArrayToFile(string _FileName, byte[] _ByteArray)
        {
            try
            {
                // Open file for reading
                System.IO.FileStream _FileStream =
                   new System.IO.FileStream(_FileName, System.IO.FileMode.Create,
                                            System.IO.FileAccess.Write);
                // Writes a block of bytes to this stream using data from
                // a byte array.
                _FileStream.Write(_ByteArray, 0, _ByteArray.Length);

                // close file stream
                _FileStream.Close();

                return true;
            }
            catch (Exception _Exception)
            {
                // Error
                Console.WriteLine("Exception caught in process: {0}",
                                  _Exception.ToString());
            }

            // error occured, return false
            return false;
        }


Leave a Reply

Powered by Blogger.