main / Source / WebService / Web.Common / Extensions / StreamExtensions.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace DataUp.Web.Common
    public static class StreamExtensions
        public static void CopyToStream(this Stream source, Stream target)
            byte[] copyBuf = new byte[0x1000];
            int bytesRead = 0;
            int bufSize = copyBuf.Length;

            source.Position = 0;

            while ((bytesRead = source.Read(copyBuf, 0, bufSize)) > 0)
                target.Write(copyBuf, 0, bytesRead);

        public static void CopyTo(this Stream source, string filePath)
            using (FileStream writeStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))

        public static byte[] GetBytes(this Stream source)
            byte[] ImageData = null;

            if (source != null)
                // Create a byte array of file stream length
                ImageData = new byte[source.Length];

                source.Position = 0;

                //Read block of bytes from stream into the byte array
                source.Read(ImageData, 0, System.Convert.ToInt32(source.Length));

            return ImageData;
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.