Upload billede funktion
Jeg skal bruge et komplet billede upload eksempel jeg kan arbejde ud fra.Fra <FORM> til billedet ligger trygt på serveren.
Min udbyder fortæller så ledes:
ASP Image v2.x**
Hvad kan det?
ASP Image bruges til dynamisk at generere nye og redigere eksisterende billeder eller grafer på din hjemmeside. Her følger nogle eksempler på mulighederne:
Lav nye og rediger eksisterende billeder, selv animeret .gif.
Arbejd med .gif, .jpg, .png og .bmp formater.
Læg tekst og billeder på transparent.
Lav bløde udfyldninger.
Tegn rektangler, buer og cirkler.
Beskær, vend, forstør og roter billeder.
Lav effekter som knapper, formørkning m.m.
Lav dynamiske billeder via Response.BinaryWrite.
FAQ
AspImage siger: Object doesn't support this property or method: 'GetImageFileSize'
Metoden er udgået, brug istedet følgende kode til at hente filstørrelsen for et eksisterende billede:
<%
Set objImg = Server.CreateObject("AspImage.Image")
objImg.LoadImage "d:\home\FtpBrugernavn\www\filnavn.jpg"
Response.Write "<p>The size of the image is " & objImg.MaxX & "x" & objImg.MaxY & ".</p>"
Set objImg = Nothing
%>
ASPupload**
ASPupload er en måde man kan gøre det muligt for brugere at "uploade" eller sende, filer til ens webhotel/server.
Husk at når du giver en bruger mulighed for at uploade til dit webhotel, kan han uploade kode der giver ham de samme muligheder du som administrator har hvis han kan browse filen bagefter. Det anbefales derfor på det kraftigste at du kun giver mulighed for at uploade til /db folderen, da den ikke er synlig via internettet.
Skal du uploade til en folder der umiddelbart kan browses via internettet, er det derfor vigtigt at du checker på endelsen og f.eks. kun tillader filer der ender på .jpg eller .gif. En bedre løsning er at lade brugere uploade til /db folderen, og derefter bruge programmeringskode til at flytte filen hen et sted hvor den må ligge, samtidig med at du checker endelsen.
En formular der kan bruges til at sende filer til AspUpload med:
<html>
<body>
<form method="post" enctype="multipart/form-data" action="uploaded.asp">
<input type=file name="file1"><br>
<input type=file name="file2"><br>
<input type=file name="file3"><br>
<input type=submit value="upload!">
</form>
</body>
</html>
Kode der modtager de filer brugerne sender og gemmer dem på serveren:
<html>
<body>
<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Count = Upload.Save("d:\home\FtpBrugerNavn\db\upload")
Response.Write Count & " fil(er) modtaget."
%>
</body>
</html>
FAQ
Jeg får fejlmeddelelsen "Access denied"?
Du har ikke rettigheder der hvor du forsøger at gemme filen. Bemærk at du kan kun skrive i dine egne biblioteker og Frontpage brugere kan kun skrive i /db biblioteket, der kun kan ses via Ftp, ikke via Frontpage.
Kan jeg uploade filer til en database (Access)?
Du kan godt, men det anbefales ikke. Du vil få meget bedre ydelse ud af at gemme filerne på disk og i databasen kun gemme et link til filen. Download AspUpload (forrige menu) for at få den fulde dokumentation, hvor det står beskrevet.
ImageSize**
Imagesize er en ASP komponent der bruges til at læse en billedfils størrelse i pixels.
Eksempel
<%
Dim Img
Sub CheckFile (strFileName)
Set objImg = Server.CreateObject("ImgSize.Check")
objImg.FileName = strFileName
If objImg.Error <> "" Then
Response.Write "Der skete en fejl under læsning af billedfilen.<br>"
Response.Write "Fejlen var: <b>" & objImg.Error & "</b>;"
Else
Response.Write "<p>Billedfil <b>" & strFileName & "</b> korrekt læst.<br>"
Response.Write "Billedhøjde i pixels = <b>" & objImg.Height & "</b><br>"
Response.Write "Billedbredde i pixels = <b>" & objImg.Width & "</b></p>"
End If
Set objImg = nothing
End Sub
%>
Når du har sat koden ind i dit dokument, kalder du den med følgende kald:
<% CheckFile ("d:\home\FtpBrugernavn\www\BilledFilnavn.jpg") %>
Billedfilens placering skal, som du kan se i eksemplet, være angivet som en lokal sti, og billedfilerne kan være i et af følgende formater:
.jpg
.png
.bmp
.gif
Koden i eksemplet vil så, hvis den f.eks. læser dette billede:
returnere følgende i brugerens browser:
Billedfil d:\home\azerodk\www\support\programmering\asp\komponenter\imagesize\azero-logo-blue.jpg korrekt læst.
Billedhøjde i pixels = 45
Billedbredde i pixels = 96
PÅ FORHÅND TUSIND TAK!!
