I have used a Winword Control to display the word document in a windows forms. Couple of my friends asked me how to save the document as a blob in to a database. So I thought of putting an article about it. The code is very Simple. Just use file system to convert the document to array of bytes[]try{ //Delete the doc file used for Saving if already exists FileInfo mySaveFile = new FileInfo(@"C:\mysavefilename.doc"); if (mySaveFile != null) { mySaveFile.Delete(); } object overWriteExisting = false; object refMissing = Missing.Value; object saveFileName = _filenameSave; this.myWinWordControl.document.SaveAs(ref saveFileName, ref refMissing, ref refMissing, ref refMissing, ref refMissing, ref refMissing,ref refMissing, ref refMissing, ref refMissing, ref refMissing, ref refMissing); //Show Blank document so that the current loaded file gets released ShowBlankDocument(); //convert the doc file to blob. MyDS.mYRow row = null; FileStream fls; fls = new FileStream(_filenameSave, FileMode.Open, FileAccess.Read); //a byte array to read the doc byte[] blobDoc = new byte[fls.Length]; fls.Read(blobDoc, 0, System.Convert.ToInt32(fls.Length)); fls.Close(); if (this._presenter.IsNewRecord) { _mYDS = new mYDS(); row = _mYDS.MyTable.NewRow(); row.MY_DOC = blobDoc; return _presenter.AddRecord(row); } else { row = mYDS.Rows[0]; row.MY_DOC = blobDoc; return _presenter.UpdateRecord(row); }}catch (Exception exp){ _ErrorWindow.Show(exp); return false;} The DataSet row conataining the blob can be saved with regular saving technique using Enterprise Libararies DAL.
You need to be a premium member to use this feature. To access it, you'll have to upgrade your membership.
Become a sharper developer and jumpstart your career.
$0
$
. 00
monthly
For Basic members:
$20
For Premium members:
$45
For Elite members: