Eseguire in ASP classico procedure manuali di Upload (caricamento di un file da un client al server Web) è una pratica assai difficile e lunga; esistono per questo dei componenti che, una volta installati sul server, permettono con poche righe di codice di eseguire procedure altrimenti rognose, come appunto l’Upload di un file.
Il componente che prendiamo in esame è ASPUpload e non è gratuito, ma il suo costo è molto contenuto. L’unico problema è che è difficile trovare un Hoster che abbia questo componente installato ed è difficile che lo installi su richiesta, almeno non gratuitamente!
Maggiori informazioni commerciali sul componente all’indirizzo www.aspupload.com.
Una volta acquistato il componente ed installata la DLL sul server, è possibile effettuare una prima prova. Si crei sul server Web la cartella file ed al suo esterno il file upload.html e si faccia puntare la form al file upload.asp. DI seguito il codice del file HTML:
<form method="POST" action="upload.asp" enctype="multipart/form-data">
<input type="file" name="FDC">
<input type="submit" value="Upload">
</form>
Di seguito il codice commentato del file ASP:
<%@LANGUAGE = VBScript%>
<%
' Gestisco eventuali errori
On Error Resume Next
' Creo l'oggetto Persist ASPUpload
Set Upload = Server.CreateObject("Persits.Upload.1")
' Controllo che non vengano sovrascritti file esistenti
Upload.OverwriteFiles = False
' Limito ad 1 mega la possibilità di caricare file
Upload.SetMaxSize 1048576
' Effettuo l'Upload, se non si sono verificati errori
Count = Upload.Save(Server.MapPath("/file/" & Request.Form("FDC")))
%>
<html>
<head>
<title>Upload di file col componente ASPUpload</title>
</head>
<body>
<p align="center">
<%
' Verifico il buon andamento della procedura
' e lancio un messaggio di errore o di conferma
If Err <> 0 Then
Response.Write "ERRORE: " & Err.Description
Else
With Response
.Write Count
.Write "Upload effettuato con successo!"
.Write "<br><br>"
.Write "Alcune info:"
.Write "<br><br>"
.Write "Dimensioni del file: " & File.Size & "byte"
.Write "<br>"
.Write "Tipologia di file: " & File.Type
End With
End If
%>
</p>
</body>
</html>
