• User

    Upload file zip

    Ciao a tutti ragazzi,
    Premetto che ho ricercato per diverse ore su google se esiste qualche script che fa al caso mio...ma purtroppo non ho trovato nulla 😞

    In poche parole ho creato un'area riservata dove accede il veterinario è i privati.
    I privati che accedano hanno una loro pagina riservata dove visualizzano i file messi a disposizione del veterinario.
    Il veterinario invece dovrebbe avere una pagina con un pannello di controllo dove deve selezionare la pagina di un privato e inserire un o + file zip.

    Il problema dell'upload dei file l'ho risolto grazie al lavoro messo in rete da Lorenzo Abbati (Boal Upload) , che permette di fare l'upload dei file nella cartella public del server web (Aruba hosting Win )

    Il mio problema adesso e capire come fare per dare la possibilità al veterinario di inserire quel file in ua determinata pagina di un'utente privato.

    Esempio
    Privato1 ---> accede e visualizza la pagina privato1.asp
    Privato2 ---> accede e visualizza la pagina privato2.asp
    Privato3 ---> accede e visualizza la pagina privato3.asp

    Veterinario---> accede ed avrà un pannello di controllo che gli deve permettere di selezionare il file dal pc e selezionare in che pagina andarlo ad inserire (quindi privato1.asp opp privato2.asp opp privato3.asp )

    Dite che è una cosa fattibile?
    Riuscite ad aiutarmi ragazzi??


  • Super User

    Ciao, aruba ti permette di scrivere solo dentro public. Se le cartelle che dici sono dentro public ok. Cosa devi inserire nelle pagine? un file linkato o altro?


  • User

    Il problema è che il pannello di controllo che deve essere messo a disposizione dell'amministratore del sito ( che non ne capisce di codice) gli deve permettere di fare l'upload di un file dal pc locale e inserirlo nella cartella public e poi, in automatico, inserire un link nella pagina privata dell'utente che permetta di scaricare quel file.


  • Super User

    Ok, allora non ci sono problemi, basta che gli presenti una lista di pagine e fai selezionare quella che vuole lui, poi metti nel db un riferimento file - id utente, e nella pagina dell'utente x selezioni tutti i suoi file


  • User

    mmmm non ho ben capito!!

    Per caso hai qualche script di esempio giusto per vedere un pò di codice??


  • Super User

    No per questo caso no. Ma non è difficile comunque. Il database innanzitutto ce l'hai fatto? O preferisci non usarlo?


  • User

    Il database è fatto in access perchè non ha preso il pacchetto con MySql

    Al momento ho solo una tabella dove faccio delle select (quando devono accedere all'area riservata,facendo controlli su user e pass) opp delle insert( creando nuove utenze)

    riesci a darmi una mano?


  • Super User

    Devi vedere se vuoi inserire un'altra tabella dove vai a mettere i files di cui fai l'upload (per mettere intendo solo inserire un riferimento, il file lo metti comunque in public). Io te lo consiglio. Quindi una volta che hai questa tabella inserisci un riferimento al file, quindi ad esempio, id, path e id utente. Nella pagina dell'utente vai a fare la select in questa tabella per quell'utente e visualizzi i files relativi, con link.


  • User

    quindi dopo che ho fatto l'upload nella cartella public dovrei prendermi il percorso del file è fare un'insert nella tabella giusto?


  • Super User

    Si esatto


  • User

    Questo è il file che uso per fare l'upload nella cartella public

    <!--#INCLUDE FILE="upload.class"-->
    <%
    Dim oUpload
    Dim oFile
    Dim sFileName
    Dim oFSO
    Dim sPath
    Dim sNewData
    Dim nLength
    Dim bytBinaryData

    Const nForReading = 1
    Const nForWriting = 2
    Const nForAppending = 8

    ' grab the uploaded file data
    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

    ' Convert the binary data to Ascii
    bytBinaryData = oFile.BinaryData
    nLength = LenB(bytBinaryData)
    For nIndex = 1 To nLength
    sNewData = sNewData & Chr(AscB(MidB(bytBinaryData, nIndex, 1)))
    Next

    ' Save the file to the file system
    sPath = Server.MapPath(".\public") & ""
    Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
    oFSO.OpenTextFile(sPath & sFileName, nForWriting, True).Write sNewData
    Set oFSO = Nothing

    Set oFile = Nothing
    Set oUpload = Nothing
    %>
    File has been saved in file system. View this file:<BR><BR>
    <A href="public<%=sFileName%>">public<%=sFileName%></A>

    come faccio a fare un'insert nella tabella passandogli il percorso??


  • Super User

    Il percorso è sFileName (tanto public c'è sempre senza che lo metti). Dovresti modificarlo un pò per far inserire anche l'utente se ho capito bene no?


  • User

    si esatto dovre specificare anche l'utente !!

    qualche suggerimento ^__^ ??


  • Super User

    Puoi fare una select su tutti gli utenti (o su quelli che vuoi fare vedere) e mostrare una dropdown o radio list o analogo, per permettere di selezionare l'utente a cui associare il file. Poi recuperi il suo id e lo inserisci.


  • User

    ok vedo se riesco 🙂 ti faccio sapere !!


  • Super User

    Ok facci sapere se ci sono problemi