Recuperare Nome File mediante lo script di BAOL

dtomasini

Nuovo Utente
16 Giu 2010
16
0
0
Ciao a tutti,
sto facendo dei tentativi con questo script, molto potente oltretutto.
Allora, ho letto molti post, e da quello che ho capito questo script in automatico permette, in caso di file già esistente di crearne una copia.
Ora la mia domanda è questa:
come è possibile recuperare il nome del file modificato?

da quello che ho capito esiste una funzione GetFileName che in teoria riesce a recuperare il nome del file.
Quindi io ho provato a inserire il seguente codice:

PHP:
<!--#include file="Upload.asp"--> 
<% 
dim oUpload 
dim immagine, ciao 
Set oUpload = new cUpload 
    oUpload.SetPath "/intranet/upload/" 
    oUpload.UploadAndSave 
        immagine= oUpload.GetFileName() 
Set oUpload=Nothing

Il risultato è che l'upload viene eseguito, ma la variabile immagine rimane vuota...

Inoltre ho provato a eseguire anche il seguente codice, preso dalla cartella esempi, per il rename del file:
codice PHP:

PHP:
dim oUpload 
dim immagine, ciao 
Set oUpload = new cUpload 
    oUpload.SetPath "/intranet/upload/" 
    oUpload.UploadAndSave 
    immagine = oUpload.Form("programma") 
     
    'Creo il rename del File 
    array fileName 
        fileName= split(immagine, ".", -1, 1) 
             
    'Genero un numero random che vada a rendere unico il file da uploadare 
    int rand 
        Randomize() 
        rand = CInt(Rnd()*100) 
     
    'Modifico FileName 
    immagine = fileName(0) & "_" & rand & "." & fileName(1) 
     
    'ReName del file sul server 
    oUpload.SaveAs(immagine) 
     
Set oUpload=Nothing

upload eseguito con successo ma senza il rename che io gli ho richiesto.

Naturalmente io preferirei utilizzare la prima opzione, la seconda è più che altro una curiosità, ma qualcuno sa spiegarmi cosa sto sbagliando?
 
Ok, ho letto e riletto più volte molte discussioni.
Alla fine ho capito come funziona lo scipt e allora ho utilizzato BAOL per tutto anche per l'aggiunta del nome del file ne database.
Solo che l'Upload lo esegue, ma non scrive il nome del file sul DB

PHP:
Dim oUpload, stringFile 
Set oUpload= new cUpload 

With oUpload 
'La riga seguente impoosta la connessione al database e la tabella di inserimento dati 
'La connesione e la tabella verranno aperti con il metodo oUpload.Database.Open() 
.SetDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("/intranet/data/areaFormazione.mdb"),"SELECT Top 1 * FROM attivita" 
.EnabledAspUpload    = False 
.EnabledImageSize    = False 
.EnabledLog          = False 
.AutoRename          = True 
.Overwrite             = False 
.SetPath "intranetupload\" 
.Load 
.MoveFirst 
if .EOF then 
    NumFiles = .Count() 
    Response.write "0 Files caricati su " & NumFiles &" : controlla le dimensioni e il ttipo di file." 
else 
    .Database.Open() 
    While Not .EOF 
            .Save 
            'response.Write "il file " & .GetFileName &" è stato salvato <br>" 
            'Inserimento dei valori 

            .Database.Fields("programma") = .GetFileName 
            'Inserimento 
            .Database.Update() 
    .MoveNext 
    Wend 
end if 
End With 
Set oUpload = Nothing
Il compito di questo codice è quello di aggiornare un record già esistente inserendoci il nome del file.
Qualcuno sa dirmi che cosa sbaglio?
 

Discussioni simili