Introduction
Today, I am demonstrating a down loader in ASP.net using with System.Web.WebRequest and System.Web.WebResponse method, if we need to start download on specific length then we can add request range using with Request.Addrange(10000,50000).|  | 
| Down loader in ASP.Net | 
Namespace C#
using System.IO; using System.Web; using System.Configuration;
Namespace VB.Net
Imports System.IO Imports System.Web Imports System.Configuration Imports System.ExceptionWe can provide file size here, so all the bytes streams will be downloaded properly.
I have made web request using HTTPWebRequest method:
HTTPWebRequest method:
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(str);
Request Timeout
You can set request timeout as follows: 
request.Timeout = 30000000;
request.Timeout = 30000000;
Read Buffer Size
int read = strm.Read(inBuf, 0, inBuf.Length);
Here we can provide to read file from 0 bytes to up to your requirement.
Start VB.Net Code Snippet
Private Sub DownloadCode()
Try
       Dim filesize As Integer = 9899267
   Dim fs As FileStream = New FileStream("C:\downloadfolder\1.mp3", FileMode.Create, FileAccess.Write)
   Dim file_start As Integer = 0
   Dim file_end As Integer = filesize
   Dim strm As Stream = Nothing
   Dim offset As Integer = 0
   While file_end >= file_start
   Dim str As String = "http://www.downloaddomain.net/abc/1.mp3"
       'daisy server --- dbt_001
       Dim request As System.Net.HttpWebRequest = CType(System.Net.HttpWebRequest.Create(str), System.Net.HttpWebRequest)
       'Dim request As System.Net.HttpWebRequest = WebRequest.Create(str)
       request.Timeout = 30000000
       Dim inBuf(4095) As Byte  'for dtb_001
       Dim bytesToRead As Integer = CInt(inBuf.Length)
       Dim bytesRead As Integer = 0
       Dim response As System.Net.HttpWebResponse = CType(request.GetResponse(), System.Net.HttpWebResponse)
       'Dim response As HttpWebResponse = request.GetResponse()
       strm = response.GetResponseStream()
       Dim read As Integer = strm.Read(inBuf, 0, inBuf.Length)
       fs.Write(inBuf, 0, read)
       offset += read
       If offset >= file_end Then
           Exit While
       Else
           file_start += 4095
       End If
       request.Abort()
       response.Close()
   End While
   MessageBox.Show("file Downloaded successfully")
        Catch ex As Exception
   MessageBox.Show("file download unsuccessful" & ex.Message)
        End Try
    End Sub
C# Down loader code
Private void DownloadCode()
    {
    try
     {
     int filesize = 9899267;
     FileStream fs = new FileStream("C:\\downloadfolder\\1.mp3", FileMode.Create, FileAccess.Write);
     int file_start = 0;
     int file_end = filesize;
     Stream strm = null;
     int offset = 0;
     while (file_end >= file_start) {
      string str = "http://www.downloaddomain.net/abc/1.mp3";
      //
      System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(str);
      //Dim request As System.Net.HttpWebRequest = WebRequest.Create(str)
      request.Timeout = 30000000;
      byte[] inBuf = new byte[4096];
      //for dtb_001
      int bytesToRead = Convert.ToInt32(inBuf.Length);
      int bytesRead = 0;
      System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
      //Dim response As HttpWebResponse = request.GetResponse()
      strm = response.GetResponseStream();
      int read = strm.Read(inBuf, 0, inBuf.Length);
      fs.Write(inBuf, 0, read);
      offset += read;
      if (offset >= file_end) {
         break; // TODO: might not be correct. Was : Exit While
      }
else
{
         file_start += 4095;
      }
      request.Abort();
      response.Close();
     }
     MessageBox.Show("file Downloaded successfully");
     }
    catch (Exception ex)
    {
     MessageBox.Show("file download unsuccessful" + ex.Message);
    }
}

 
Post A Comment:
0 comments: