Let's Talk About .NET, Java, and Various File Formats!

Archive for the ‘General’ Category

Read File from Disk into MemoryStream using C# or VB.NET

Reading a file from the disk into the MemoryStream is a very common requirement while working with files in your .NET applications. It is important to read the files to MemoryStream when you want to process the file inside memory. For example, when you want to render a file from the server to the browser. This is very simple and you can use the following code snippet to read the file contents from the disk to the MemoryStream.

C# Code Snippet:

//open file from the disk (file path is the path to the file to be opened)
using (FileStream fileStream = File.OpenRead(filePath))
{
//create new MemoryStream object
MemoryStream memStream = new MemoryStream();
memStream.SetLength(fileStream.Length);
//read file to MemoryStream
fileStream.Read(memStream.GetBuffer(), 0, (int)fileStream.Length);
}

VB.NET Code Snippet:

‘open file from the disk (file path is the path to the file to be opened)
Using fileStream As FileStream = File.OpenRead(filePath)
‘create new MemoryStream object
Dim memStream As New MemoryStream()
memStream.SetLength(fileStream.Length)
‘read file to MemoryStream
fileStream.Read(memStream.GetBuffer(), 0, CInt(Fix(fileStream.Length)))
End Using

Why this delivery? Software Boys Song – Very Funny

These guys have made a parody of ‘Why this kolaveri di’. It’s very funny. Software guys are really gonna enjoy this. 🙂

Rendering PDF Files to Browser using .NET Code

In the .NET applications, we some times need to render the PDF files to the browser using our code — C# or VB.NET etc. It’s not a big deal! You only need to use Response object to send the file to the browser. The only thing you need to take care of is the use of proper methods and attributes.

First of all, we need to save the PDF document to a MemoryStream object. For example, we have a MemoryStream object named outStream and we need to render it to the browser. The following code snippet can be used to render the file:

//create new MemoryStream object and add PDF file’s content to outStream.
MemoryStream outStream = new MemoryStream();

//specify the duration of time before a page cached on a browser expires
Response.Expires = 0;

//specify the property to buffer the output page
Response.Buffer = true;

//erase any buffered HTML output
Response.ClearContent();

//add a new HTML header and value to the Response sent to the client
Response.AddHeader(“content-disposition”, “inline; filename=” + “output.pdf”);

//specify the HTTP content type for Response as Pdf
Response.ContentType = “application/pdf”;

//write specified information of current HTTP output to Byte array
Response.BinaryWrite(outStream.ToArray());

//close the output stream
outStream.Close();

//end the processing of the current page to ensure that no other HTML content is sent
Response.End();

You need to use AddHeader method of Response object to add header and value to the response sent to the client. Content-Disposition response header field is used to convey additional information about how to process the response, and also to attach additional metadata, such as filename. The PDF will be viewed in the PDF viewer plugin installed for the browser. You can see a practical example of rendering the PDF file to browser in Aspose.Pdf Demo. In order to view the source code, please click on the Source tab.

Verify .NET Assembly for Type-Safe Code

Some times, developers need to produce the CIL in such a way that it meets type safety requirements. This type-safe code can only be generated by avoiding certain language constructs. In order to make sure that the .NET assembly contains type-safe code, you need to verify the assembly. The assembly can be verified using PEVerify utility from Microsoft.

If you have installed Visual Studio on your computer, this utility (peverify.exe) will already be there. It provides various options, however the simplest way to verify the assembly is to use peverify.exe along with the assembly path/name.

It will take a while and show you the result. If the assembly contains type-safe code, the following message will be shown on the command window: All Classes and Methods in <assembly path/name> Verified.