Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Problema con Upload

  1. #1

    Problema con Upload

    Buongiorno a tutti,
    sono nuovo da queste parti e giusto per tenervi in allenamento ho pensato di sottoporvi un quesito che mi stà facendo impazzire....veniamo al dunque ho sfruttato uno script per fare l'upload di alcuni file all'interno di un database...fin quì tutto bene peccato che quando vado a cliccare sul link generato per scaricare il file questo venga rinominato arbitrariamente col nome della pagina stessa...(lo so mi spiego come un libro stracciato)...esempio

    http://xxx.xxxx.xxx/DataFile.asp?FileID=5 (che magari fa riferiemento al documento di testo.txt)

    mi farà scaricare Datafile.asp con all'interno il contenuto di testo.txt per l'appunto è come se il file venisse rinominato e non mi spiego il perchè di seguito posto il codice che ho usato:

    Trasferimento.asp



    </p>
    <H2>Selezionare il file da trasferire. </H2>
    <FORM method="post" encType="multipart/form-data" action="ToDatabase.asp">
    <INPUT type="File" name="File1">
    <INPUT type="Submit" value="Upload">
    </FORM>

    ToDatabase.asp

    <%
    Dim oUpload
    Dim oField
    Dim oConn
    Dim oRs
    Dim sSQL
    Dim sFileName
    Set oUpload = New clsUpload
    Set oFile = oUpload("File1")
    ' parse the file name
    sFileName = oFile.FileName
    If Not InStr(sFileName, "\") = 0 Then
    sFileName = Mid(sFileName, InStrRev(sFileName, "\") + 1)
    End If
    Set oConn = Server.CreateObject("ADODB.Connection")
    Set oRs = Server.CreateObject("ADODB.Recordset")
    oConn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("./") & "\db\Upload.mdb"
    sSQL = "SELECT FileID, FileName, FileSize, ContentType, BinaryData FROM Files WHERE 1=2"
    oRs.Open sSQL, oConn, 3, 3
    oRs.AddNew
    oRs.Fields("FileName") = sFileName
    oRs.Fields("FileSize") = oFile.Length
    oRs.Fields("ContentType") = oFile.ContentType
    oRs.Fields("BinaryData").AppendChunk = oFile.BinaryData & ChrB(0)
    oRs.Update
    oRs.Close
    sSQL = "SELECT Top 1 FileID, FileName From Files Order By FileID Desc"
    oRs.Open sSQL, oConn
    If Not oRs.EOF Then
    %>


    Il file è stato correttamente salvato nel database. Di seguito il Link per visualizzarlo:



    <%=oRs(1)%>
    <%
    End If
    Set oRs = Nothing
    Set oConn = Nothing
    Set oFile = Nothing
    Set oUpload = Nothing
    %>
    </p>

    DataFile.asp
    <%
    Dim oConn
    Dim oRs
    Dim sSQL
    Dim nFileID
    nFileID = Request.QueryString("FileID")
    If Not nFileID = "" And IsNumeric(nFileID) Then
    Set oConn = Server.CreateObject("ADODB.Connection")
    Set oRs = Server.CreateObject("ADODB.Recordset")
    oConn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("./") & "\db\Upload.mdb"
    sSQL = "SELECT FileName, ContentType, BinaryData FROM Files WHERE FileID = " & Request.QueryString("FileID")
    oRs.Open sSQL, oConn, 3, 3
    If Not oRs.EOF Then
    Response.ContentType = oRs(1)
    Response.BinaryWrite oRs(2)
    Else
    Response.Write("File non trovato")
    End If
    oRs.Close
    oConn.Close
    Set oRs = Nothing
    Set oConn = Nothing
    Else
    Response.Write("File non trovato")
    End If
    %>

    Help me...
    Grazie anticipatamente

  2. #2
    Oh...non vi accalcate a rispondere c'è spazio per tutti...uno alla volta altrimenti si fà confusione...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.