I klassisk ASP finns det ingen inbyggd hantering av filuppladdningar, utan du måste använda en tredjepartskomponent som till exempel ASP Upload. I ASP.NET finns däremot den funktionen inbyggd. Där kan du till exempel använda FileUpload, som är en färdig serverkontroll.
Koden nedan visar en enkel uppladdningsfunktion. Tänk på att inte använda koden rakt av utan någon form av kontroll av vilka filer som får laddas upp. Annars utsätter du din webbplats för ett allvarligt säkerhetshål.
<%@ Page Language="C#" %>
<script runat="server">
protected void Do_Upload(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
try
{
FileUpload1.SaveAs( Server.MapPath("uploads/" + FileUpload1.FileName) );
Response.Write("Uppladdning klar: " + FileUpload1.PostedFile.FileName);
}
catch (Exception ex)
{
Response.Write("FEL: " + ex.Message.ToString());
}
else
{
Response.Write("Du angav ingen fil.");
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Upload Files</title>
</head>
<body>
<form id="form1" runat="server">
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button runat="server" OnClick="Do_Upload" Text="Upload File" />
</form>
</body>
</html>
Förutom att lägga in koden ovan behöver du skapa en mapp som heter till exempel ”uploads” och hänvisa korrekt till den i anropet till Server.MapPath(). Annars fungerar inte uppladdningen som den ska.
Om du gjort rätt ser din uppladdningssida ut ungefär som nedan, det vill säga med enbart en enkel filväljare och en knapp för att ladda upp filen. När du sedan laddar upp en fil får du veta vilket namn den har sparats med.
