Upload - Upload of large files to database using AppendChunk method of RecordSet

Sample for ScriptUtils.FormField.ByteArray | Changes | Purchase | Download

Examples

Upload - Upload of large files to database using AppendChunk method of RecordSet 
<%
'Sample file db-appendchunk.asp
'Upload to database, store file using AppendChunk method of RecordSet
'Suitable for upload of big files and MDB database
'see article 'To database, or not to database?' in HugeASP upload help
'This sample works with well with MDB files and JetOLEDB provider
'AppendChunk method does not work correctly with SQLOLEDB provider 
'See HexString property to upload big files to MSSQL.

Server.ScriptTimeout = 3600
'Simple upload to database

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
Form.TempPath = "h:\temp"
'was the Form successfully received?
If Form.State = 0 Then
  Dim Conn, RS
  'Open connection to database
  Set Conn = GetConnection 
  Set RS = Server.CreateObject("ADODB.Recordset")

  'Open dynamic recordset, table Upload
  RS.Open "Upload1", Conn, 2, 2
  RS.AddNew

    'Store extra form info.
    RS("Description") = Form("Description")
    RS("Title") = Form("Title")

    'Set block size to 64kB
    Const BlockSize = &H10000
  
    'Process source data using blocks
    Dim BlockCounter, DataBlock
    For BlockCounter = 0 To Form("DBFile").Length Step BlockSize
      'Get a part of source data
      DataBlock = Form("DBFile").ByteArray(BlockCounter, BlockSize)

      'Add a part of source data to the field
      RS("Data").AppendChunk DataBlock
    Next 'BlockCounter 
    '

    'Store technical informations
    RS("ContentType") = Form("DBFile").ContentType
    RS("SouceFileName") = Form("DBFile").FileName

    RS("UploadDT") = Now()
  RS.Update
  RS.Close
  Conn.Close
End If'Form.State = 0 then

Function GetConnection1()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open "Data Source=D:\Temp\upload.mdb"
  Conn.CommandTimeout = 1800
  'Conn.Open "Data Source=" & Server.MapPath("upload.mdb") 
	Set GetConnection = Conn
End Function

Function GetConnection()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "SQLOLEDB"
  Conn.Open "Data Source=Muj;Database=Upload", "sa", ""
  'Conn.Open "Data Source=" & Server.MapPath("upload.mdb") 
	Set GetConnection = Conn
End Function

Function CreateUploadTable(Conn)
  'This function creates upload table for MSSQL 6.5/7.0
  Dim SQL
  SQL = SQL & "CREATE TABLE Upload ("
  SQL = SQL & "	UploadID int IDENTITY (1, 1) NOT NULL ,"
  SQL = SQL & "	UploadDT datetime NULL ,"
  SQL = SQL & "	RemoteIP char (15) NULL ,"
  SQL = SQL & "	ContentType char (64) NULL ,"
  SQL = SQL & "	SouceFileName varchar (255) NULL ,"
  SQL = SQL & "	Title varchar (255) NULL ,"
  SQL = SQL & "	Description text NULL ,"
  SQL = SQL & "	Data image NULL "
  SQL = SQL & ")"
  Conn.Execute SQL
End Function

%>  

<br>Upload To database, store file using AppendChunk method of RecordSet.
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Suitable For upload of big files And MDB database

<Table><form method=post ENCTYPE="multipart/form-data">
<TR>
 <TD></TD>
 <TD Align=Right><input type="submit" Name="Action" value="Upload the file >>"></TD>
</TR>
<TR>
 <TD>File To upload</TD>
 <TD><input type="file" name="DBFile"></TD>
</TR>
<TR>
 <TD>Title</TD>
 <TD><input size="60" name="Title" value="Title of the file."></TD>
</TR>
<TR>
 <TD>Description</TD>
 <TD><textarea cols="60" rows="8" name="Description">Type description of the file.</textarea></TD>
</TR>

</form></Table>

Other links for the Upload - Upload of large files to database using AppendChunk method of RecordSet sample

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 4GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance . The software has also a free version of asp upload with progress, called Pure asp upload , written in plain VBS, without components (so you do not need to install anything on server). This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files , works with binary data , you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.

© 1996 - 2011 Antonin Foller, Motobit Software | About, Contacts | e-mail: info@pstruh.cz


Other Motobit links:   IISTracer, real-time IIS monitor   ASP file upload - upload files to ASP. 
ActiveX/VBSScript registry editor  ActiveX NT User account manager  Export MDB/DBF from ASP Active LogFile  Email export  ActiveX/ASP Scripting Dictionary object