Avatar billede html_wizard Nybegynder
28. juli 2004 - 23:45 Der er 13 kommentarer og
1 løsning

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!!
Avatar billede html_wizard Nybegynder
28. juli 2004 - 23:46 #1
Det der i mellemstykket er hvad min udbyder skriver ikke hvad jeg er kommet frem til! FAQ osv er udbyderens artikel og har intet med mine forsøg at gøre.

TAK
Avatar billede mikkel_strack Nybegynder
28. juli 2004 - 23:54 #2
Du skal lave 2 sider.
1 form.asp
2 upload.asp

Den første:
************
<HTML>
<BODY BGCOLOR="#FFFFFF">
  <FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="Upload.asp">
      <INPUT TYPE="FILE" SIZE="40" NAME="FILE1"><BR>
  <INPUT TYPE=SUBMIT VALUE="Upload!">
  </FORM>
</BODY>
</HTML>
***************

Den anden som er upload.asp (HUSK!!! Du skal ændre i stien hvor der her står 'D:\Websider\resadmin\*******\*******\www\test' - det er stien til den mappe hvor billederne skal uploades til, og skal selvfølgelig være lig med stien til den mappe du bruger

*******************
<HTML>
<BODY>
<%
Set Upload = Server.CreateObject("Persits.Upload")
Count = Upload.Save("D:\Websider\resadmin\*******\*******\www\test")
Response.Write Count & " file(s) uploaded!"
%>
</BODY>
</HTML>
********************************
Avatar billede tommer Nybegynder
30. juli 2004 - 21:16 #3
jeg har prøvet mikkels eksempel, men jeg fåe en fejl: "Invalid class string" på denne linie: Set Upload = Server.CreateObject("Persits.Upload")
kan i hjælpe ?
Avatar billede mikkel_strack Nybegynder
30. juli 2004 - 21:22 #4
Set Upload = Server.CreateObject("Persits.Upload.1")

Prøv at rette til det her - er sådan som din udbyder skriver i support
Avatar billede tommer Nybegynder
30. juli 2004 - 21:26 #5
hvad mener du med: er sådan som din udbyder skriver i support ??
lige til at starte med prøver jeg bare lokalt...kan jeg ikke det??
Avatar billede mikkel_strack Nybegynder
30. juli 2004 - 21:30 #6
Jo...hvis du har installeret aspUpload på din computer...
Ellers ikke...
Avatar billede tommer Nybegynder
30. juli 2004 - 21:30 #7
aaaaahhhh...koster det penge?
Avatar billede mikkel_strack Nybegynder
30. juli 2004 - 21:32 #8
Tror nok du kan prøve det gratis i 30 dage...men ja, koster penge
Avatar billede tommer Nybegynder
30. juli 2004 - 21:35 #9
ok, tak for hjælpen. jeg skal vist lige undersøge udbyderen inden jeg kommer for langt ;-)
Avatar billede html_wizard Nybegynder
30. juli 2004 - 22:59 #10
Tak Mikkel

Giv mig lige lidt tid til at afprøve dit svar, jeg er lidt hængt op her i weekenden.
Avatar billede mikkel_strack Nybegynder
30. juli 2004 - 23:27 #11
Velbekommen..
..og god fornøjelse begge to. Havde ik lige bemærket det var to forskellige som skrev :o)
Avatar billede tommer Nybegynder
30. juli 2004 - 23:29 #12
undskyld at jeg blandede mig, jeg sidder med det samme som wizard...go' weekend
Avatar billede tommy_carstensen Nybegynder
02. september 2004 - 14:51 #13
Husk at lukke dit spm. Er 200 point forresten ikke temmelig meget for et så banalt spm?
Avatar billede html_wizard Nybegynder
22. december 2004 - 14:03 #14
LUKKER
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester