www.webdeveloper.com
Results 1 to 14 of 14

Thread: how to upload image files and doc files into the sql server database through asp..

  1. #1
    Join Date
    Apr 2006
    Posts
    73

    how to upload image files and doc files into the sql server database through asp..

    i m new to dis..i need a complete code dat how u can upload doc files and image files into da sql database in asp using dreamweaver..
    i think u need a component dat uploads files..i downloaded two components..
    viz, aspsmart upload and aspupload
    now i need a code dat uploads da files into da database..
    thanx in advance...

  2. #2
    Join Date
    Mar 2006
    Posts
    591
    You can't upload files into a database.
    You have to upload them to your webserver and put the link in a database field.

    ex.
    http://www.domain.com/docs/doc1.doc

    this url can be put in a databasefield and via this way refer to your document.

    A while ago I used aspupload to upload files. It worked great an didn't have problems with it.

    Grtz

  3. #3
    Join Date
    Apr 2006
    Posts
    73
    wat r u talking abt???
    i need to upload an image file and a .doc file..!

  4. #4
    Ubik's Avatar
    Ubik is offline <%= "New Meja Hor" %>
    Join Date
    Nov 2005
    Location
    Earth
    Posts
    361
    He is talking about the fact that you cannot upload a file to a database. You have the code to upload the file to your server, aspupload, so just use that.

  5. #5
    Join Date
    Mar 2006
    Posts
    591
    Ubik is right.
    You can't upload the file itself into a database.
    The only thing you can do is put the URL to you file into your database.

  6. #6
    Join Date
    Apr 2006
    Posts
    73
    i want to save da jpeg image or any image into da database and also .doc file into da database..!
    how?
    i found many codes but dey r confusing...!

  7. #7
    Join Date
    Apr 2006
    Posts
    73
    like a user will browse through his computer, select da file and den hit da upload button....
    da respective image or doc file will be den saved into da table of sql server database..!

  8. #8
    Join Date
    Mar 2006
    Posts
    591
    Can you please give me the script witch does this?
    Because it isn't possible like you are saying

    da!

  9. #9
    Join Date
    Apr 2006
    Posts
    73

    First dis one..!!

    <%
    '***************************************
    ' File: Upload.asp
    '****************************************

    Class FileUploader
    Public Files
    Private mcolFormElem

    Private Sub Class_Initialize()
    Set Files = Server.CreateObject("Scripting.Dictionary")
    Set mcolFormElem = Server.CreateObject("Scripting.Dictionary")
    End Sub

    Private Sub Class_Terminate()
    If IsObject(Files) Then
    Files.RemoveAll()
    Set Files = Nothing
    End If
    If IsObject(mcolFormElem) Then
    mcolFormElem.RemoveAll()
    Set mcolFormElem = Nothing
    End If
    End Sub

    Public Property Get Form(sIndex)
    Form = ""
    If mcolFormElem.Exists(LCase(sIndex)) Then Form = mcolFormElem.Item(LCase(sIndex))
    End Property

    Public Default Sub Upload()
    Dim biData, sInputName
    Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos
    Dim nPosFile, nPosBound

    biData = Request.BinaryRead(Request.TotalBytes)
    nPosBegin = 1
    nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))

    If (nPosEnd-nPosBegin) <= 0 Then Exit Sub

    vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
    nDataBoundPos = InstrB(1, biData, vDataBounds)

    Do Until nDataBoundPos = InstrB(biData, vDataBounds & CByteString("--"))

    nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition"))
    nPos = InstrB(nPos, biData, CByteString("name="))
    nPosBegin = nPos + 6
    nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
    sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
    nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename="))
    nPosBound = InstrB(nPosEnd, biData, vDataBounds)

    If nPosFile <> 0 And nPosFile < nPosBound Then
    Dim oUploadFile, sFileName
    Set oUploadFile = New UploadedFile

    nPosBegin = nPosFile + 10
    nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
    sFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
    oUploadFile.FileName = Right(sFileName, Len(sFileName)-InStrRev(sFileName, "\"))

    nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:"))
    nPosBegin = nPos + 14
    nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))

    oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))

    nPosBegin = nPosEnd+4
    nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
    oUploadFile.FileData = MidB(biData, nPosBegin, nPosEnd-nPosBegin)

    If oUploadFile.FileSize > 0 Then Files.Add LCase(sInputName), oUploadFile
    Else
    nPos = InstrB(nPos, biData, CByteString(Chr(13)))
    nPosBegin = nPos + 4
    nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
    If Not mcolFormElem.Exists(LCase(sInputName)) Then mcolFormElem.Add LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
    End If

    nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds), biData, vDataBounds)
    Loop
    End Sub

    'String to byte string conversion
    Private Function CByteString(sString)
    Dim nIndex
    For nIndex = 1 to Len(sString)
    CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1)))
    Next
    End Function

    'Byte string to string conversion
    Private Function CWideString(bsString)
    Dim nIndex
    CWideString =""
    For nIndex = 1 to LenB(bsString)
    CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1)))
    Next
    End Function
    End Class

    Class UploadedFile
    Public ContentType
    Public FileName
    Public FileData

    Public Property Get FileSize()
    FileSize = LenB(FileData)
    End Property

    Public Sub SaveToDisk(sPath)
    Dim oFS, oFile
    Dim nIndex

    If sPath = "" Or FileName = "" Then Exit Sub
    If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\"

    Set oFS = Server.CreateObject("Scripting.FileSystemObject")
    If Not oFS.FolderExists(sPath) Then Exit Sub

    Set oFile = oFS.CreateTextFile(sPath & FileName, True)

    For nIndex = 1 to LenB(FileData)
    oFile.Write Chr(AscB(MidB(FileData,nIndex,1)))
    Next

    oFile.Close
    End Sub

    Public Sub SaveToDatabase(ByRef oField)
    If LenB(FileData) = 0 Then Exit Sub

    If IsObject(oField) Then
    oField.AppendChunk FileData
    End If
    End Sub

    End Class
    %>

  10. #10
    Join Date
    Apr 2006
    Posts
    73

    and den dis one..!

    <%@ Language=VBScript %>
    <%Option Explicit%>
    <!-- #include file="upload.asp" -->
    <%

    'NOTE - YOU MUST HAVE VBSCRIPT v5.0 INSTALLED ON YOUR WEB SERVER
    ' FOR THIS LIBRARY TO FUNCTION CORRECTLY. YOU CAN OBTAIN IT
    ' FREE FROM MICROSOFT WHEN YOU INSTALL INTERNET EXPLORER 5.0
    ' OR LATER.


    ' Create the FileUploader
    Dim Uploader, File
    Set Uploader = New FileUploader

    ' This starts the upload process
    Uploader.Upload()

    '******************************************
    ' Use [FileUploader object].Form to access
    ' additional form variables submitted with
    ' the file upload(s). (used below)
    '******************************************
    Response.Write "<b>Thank you for your upload " & Uploader.Form("fullname") & "</b><br>"

    ' Check if any files were uploaded
    If Uploader.Files.Count = 0 Then
    Response.Write "File(s) not uploaded."
    Else
    ' Loop through the uploaded files
    For Each File In Uploader.Files.Items

    ' Check where the user wants to save the file
    If Uploader.Form("saveto") = "disk" Then

    ' Save the file
    File.SaveToDisk "E:\UploadedFiles\"

    ElseIf Uploader.Form("saveto") = "database" Then

    ' Open the table you are saving the file to
    Set RS = Server.CreateObject("ADODB.Recordset")
    RS.Open "MyUploadTable", "CONNECT STRING OR ADO.Connection", 2, 2
    RS.AddNew ' create a new record

    RS("filename") = File.FileName
    RS("filesize") = File.FileSize
    RS("contenttype") = File.ContentType

    ' Save the file to the database
    File.SaveToDatabase RS("filedata")

    ' Commit the changes and close
    RS.Update
    RS.Close
    End If

    ' Output the file details to the browser
    Response.Write "File Uploaded: " & File.FileName & "<br>"
    Response.Write "Size: " & File.FileSize & " bytes<br>"
    Response.Write "Type: " & File.ContentType & "<br><br>"
    Next
    End If

    %>

  11. #11
    Join Date
    Jun 2003
    Location
    Indiana, USA
    Posts
    1,138
    If you look in that code, you will see that it is actually saving the file to a folder....
    Code:
    File.SaveToDisk "E:\UploadedFiles\"

  12. #12
    Join Date
    Apr 2006
    Posts
    73
    and if u look even more closely u will notice

    ElseIf Uploader.Form("saveto") = "database" Then

    ' Open the table you are saving the file to
    Set RS = Server.CreateObject("ADODB.Recordset")
    RS.Open "MyUploadTable", "CONNECT STRING OR ADO.Connection", 2, 2
    RS.AddNew ' create a new record

    RS("filename") = File.FileName
    RS("filesize") = File.FileSize
    RS("contenttype") = File.ContentType

    ' Save the file to the database
    File.SaveToDatabase RS("filedata")

  13. #13
    Join Date
    Jun 2003
    Location
    Indiana, USA
    Posts
    1,138
    Where did you find this code at? I was able to upload to a folder, but I do not know the table data-types for uploading to the database so I get an error when trying to upload.
    Last edited by chrismartz; 04-22-2006 at 11:22 AM.

  14. #14
    Join Date
    Jun 2003
    Location
    Indiana, USA
    Posts
    1,138
    I got this to work. Although I only have images being able to be saved and then be pulled back to a page. The table should be set up like this (in MSSQL 2000 or 2005):
    filename--------text
    filesize---------char
    contenttype----text
    filedata---------image

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles