Upload in Asp con AspSmartUpload

Siti dinamici con ASP
Impara a creare siti dinamici professionali con ASP

Scritto da Luca Ruggiero nella sezione Asp

Concesso in esclusiva a MrWebmaster.it - E' vietata la pubblicazione senza espresso consenso del proprietario

Il codice Asp è stato opportunamente tradotto in JScript.

aspSmartUpload è un componente gratuito della aspSmart per eseguire upload di file in Asp attraverso un mdulo HTML ed evitando le normali lunghe procedure manuali del codice Asp puro.

Le referenze e la sezione download di questo componente sono disponibili all'indirizzo

http://www.aspsmart.com/aspSmartUpload/

Per scaricarlo, tuttavia, è richiesto il rilascio dei propri dati personali attraverso la compilazione di un modulo.

Il suo utilizzo è molto semplice e permette, con pochi passaggi grazie alle sue intelligenti proprietà e metodi, di eseguire controlli sul tipo di file da caricare, sulle dimensioni massime accettate, e di eseguire il materiale upload del file.

Che adesso proviate il suo funzionamento online piuttosto che offline non importa. Potete scaricarlo ed installarlo oppure provarlo sul vostro servizio di Hosting se il componente è supportato.

Creiamo la cartella "aspsmart" ed al suo interno creiamo il file "upload.html", "upload.asp" e la cartella "upload" in cui andranno materialmente caricati i file da uploadare.

vediamo adesso il codice del modulo HTML del file "upload.html"

<form method="post" action="upload.asp" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" name="ok" value="Upload">
</form>
Il form necessita dell'attributo "enctype" che va settato su "multipart/form-data" proprio perchè il tipo di dato passato è un file e non del normale testo.

Veniamo al codice Asp di esempio nel file "upload.asp"
<%@LANGUAGE = JScript%>
<%
    var upload = new ActiveXObject("AspSimpleUpload.Upload");
    upload.AllowedFilesList = "jpg,gif";
    upload.MaxFileSize = 100000;
    if (upload.Form("file") == "")
    {
        Response.Write("Non hai scelto alcun file!");
    }
    else
    {
        var nome = "/file/" + upload.ExtractFileName(upload.Form("file"));
        if (upload.SaveToWeb("file", nome))
        {
            Response.Write("File caricato con successo!");
        }
        else
        {
            Response.Write("Si è verificato un errore!");
        }
    }
%>
Iniziamo con una gestione dell'errore; dichiariamo poi il nuovo oggetto aspSmartUpload ed utilizziamo le sue proprietà e metodi per impostare controlli e per eseguire materialmente l'upload.

La proprietà AllowedFilesList, come il suo nome lascia ad intendere, contiene al suo interno una sorta di array in cui si specificano le estensioni consentite; all'occorrenza si può specificare anche quali estensioni di file non sono consentite, utilizzando la proprietà DeniedFilesList non presente nell'esempio di codice. Naturalmente l'una esclude l'altra.

La proprietà MaxFileSize specifica in byte la dimensione massima dei file accettati. Il metodo Upload esegue l'upload vero e proprio ed il metodo Save specifica la posizione in cui caricare i file.

A questo punto, a seconda del fatto che si sia verificato o meno un errore, lanciamo un messaggio di successo o di insuccesso.

Avrete notato nel codice che non è stato necessario recuperare il nome del campo di tipo "file" in quanto viene automaticamente riconosciuto come tale. In questo modo abbiamo un vantaggio, ovvero che è possiamo anche effettuare upload multipli semplicemente inserendo più "input" di tipo "file" nel modulo HTML.

I più cliccati della sezione Asp

:: Un semplice form mail in Asp (51.676)

:: Creazione di un Guestbook in Asp (50.779)

:: Creazione di un'area di accesso riservato in Asp (45.420)

:: Connessione ad un database MySql con Asp (25.043)

:: Connessione ad un database Microsoft SQL Server con Asp (24.066)

:: Asp e database (23.122)

:: Differenza tra i metodi get e post e recupero dei dati, attraverso Asp (22.296)

:: Una semplice area di accesso riservato senza DB in Asp (21.382)

:: Riscrivere le URL con Asp (19.742)

:: Creazione di un Sondaggio in Asp (19.099)

IN EVIDENZA
DOWNLOAD