6

I have the whole MS Word file itself saved into a byte array.A want to load it the way I would if it was on file system but with the minimal use of Microsoft.Office.Interop.Word because it is very slow when it gets the the .Open(args[]) part.

6
  • What you want to do./.. You want to read the file .. or Write the file ??? Commented Aug 12, 2013 at 10:28
  • I want to read its text content. Commented Aug 12, 2013 at 10:29
  • I have answered .... check it ... Commented Aug 12, 2013 at 10:43
  • Where am I supposed to check it ? Commented Aug 12, 2013 at 11:51
  • See Down i have answered and put your file path in that code...you will get the answer Commented Aug 12, 2013 at 12:10

3 Answers 3

4

Try this....

      byte[] bte = File.ReadAllBytes("E:\\test.doc"); // Put the Reading file
        File.WriteAllBytes(@"E:\\test1.doc", bte); // Same contents you will get in byte[] and that will be save here 
Sign up to request clarification or add additional context in comments.

1 Comment

It still uses filesystem I/O. I believe the author is looking for a solution that keeps the byte[] in memory without writing the file to disk?
2

There is no supported way to do it right off-the-bat using Interop.Word, as there are no methods supporting byte arrays.

As a viable workaround you can use a temporary file in the following way:

// byte[] fileBytes = getFileBytesFromDB();
var tmpFile = Path.GetTempFileName();
File.WriteAllBytes(tmpFile, fileBytes);

Application app = new word.Application();
Document doc = app.Documents.Open(filePath);

// .. do your stuff here ...

doc.Close();
app.Quit();
byte[] newFileBytes = File.ReadAllBytes(tmpFile);
File.Delete(tmpFile);

Fore additional info, read this post on my blog.

1 Comment

Can we Convert an Application object to byte[] array with saving a file ?
-2

The method public static byte[] ReadAllBytes( string path ) returns all the file information into a byte array. You dont have to worry about the stream, as the MSDN documentation says: "Given a file path, this method opens the file, reads the contents of the file into a byte array, and then closes the file."

Check out this link if you want more information

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.