Oprettet fre. d. 01. april 2005 kl. 11:27:16

mikkeljans
mikkeljans (14.533 point. Point ude: 1.795)

Upload af Billedere

Jeg har en "File Form" hvor brugeren kan vælge et billede fra harddisken.. Nu skal jeg bare gennem ASP programmere siden til at automatisk upload det valgte billede i en mappe på serveren.. Hvordan gør man det?

Skrevet fre. d. 01. april 2005 kl. 11:40:12| #1

busschou
busschou (65.175 point)
hvor har du webhotel?...har du adgang til fx komponenten aspSmartUpload?
For det er nemmest hvis du har adgang til en eller anden form for komponent

Skrevet fre. d. 01. april 2005 kl. 11:42:06| #2

milandt
milandt (15.398 point)
Du kan evt hente en evaluation copy og installere den på din egen IIS.

Skrevet fre. d. 01. april 2005 kl. 12:04:20| #3

mikkeljans
mikkeljans (14.533 point)
Wannafind.dk.. Der står den understøtter ASP komponenter.. Hvordan bruger jeg det?

Skrevet fre. d. 01. april 2005 kl. 12:07:39| #4

busschou
busschou (65.175 point)
http://www.aspsmart.com/ (...)
Her kan du se eksempler på kode med aspSmartUpload

Skrevet fre. d. 01. april 2005 kl. 12:08:23| #5


Skrevet fre. d. 01. april 2005 kl. 12:10:40| #6

mikkeljans
mikkeljans (14.533 point)
Tak for hjælpen!

Skrevet fre. d. 01. april 2005 kl. 12:12:16| #7

busschou
busschou (65.175 point)
milandt >> hvordan fandt du den? jeg forsøgte deres support men den var da godt nok kedelig for folk som ikke har domæne hos wannafind.dk
mikkeljans >> Når wannafind understøtter det så bør du kunne klare det med enten fra deres support sider eller evt fra aspsmarts hjemmesiden uden videre problemer vil jeg tro. Det er såmen rimelig simpelt :o)

Skrevet fre. d. 01. april 2005 kl. 12:12:54| #8

busschou
busschou (65.175 point)
Så må du jo vælge hvad du bruger som støtte ;o)...

Skrevet fre. d. 01. april 2005 kl. 12:21:11| #9

mikkeljans
mikkeljans (14.533 point)
Jeg forstår ikke helt hvordan de koder virker.. Skal jeg download et program før jeg kan bruge dem?.. Hvordan helt simpelt koder jeg med ASP til at upload en fil fra harddisk til en mappe på serveren?

Skrevet fre. d. 01. april 2005 kl. 12:24:05| #10

busschou
busschou (65.175 point)
det kan ikke være mere simpelt end på det linkl jeg gav dig
Klik på linket... ude i venstre side vælger du code exampels mener jeg
Tag det første eksempel
Der er en html kode og en asp kode
Gem den ene i en html fil og den anden i en asp fil ...det virker lige som det er

Skrevet fre. d. 01. april 2005 kl. 12:24:57| #11

busschou
busschou (65.175 point)
det eneste er selvfølgelig at du skal ændre stien i deres eksempel så du får gemt filerne i den mappe du ønsker :o)

Skrevet fre. d. 01. april 2005 kl. 12:28:34| #12

busschou
busschou (65.175 point)
filen "upload.html"
-------------------
<HTML>
<BODY BGCOLOR="white">

<H1>aspSmartUpload : Sample 1</H1>
<HR>

<FORM METHOD="POST" ACTION="upload.asp" ENCTYPE="multipart/form-data">
  <INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
  <INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
  <INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
  <INPUT TYPE="FILE" NAME="FILE4" SIZE="50"><BR>
  <INPUT TYPE="SUBMIT" VALUE="Upload">
</FORM>

</BODY>
</HTML>
---------------------
filen "upload.asp"
--------------------
<HTML>
<BODY BGCOLOR="white">

<H1>aspSmartUpload : Sample 1</H1>
<HR>

<%
'  Variables
'  *********
  Dim mySmartUpload
  Dim intCount
       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
  mySmartUpload.Upload

'  Save the files with their original names in a virtual path of the web server
'  ****************************************************************************
  intCount = mySmartUpload.Save("MIN_MAPPE")
  ' sample with a physical path
  ' intCount = mySmartUpload.Save("c:\temp\")

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(s) uploaded.")
%>
</BODY>
</HTML>
-------------------------
Sådan

Skrevet fre. d. 01. april 2005 kl. 12:28:52| #13

mikkeljans
mikkeljans (14.533 point)
I eksemplet:

'  Variables
'  *********
  Dim mySmartUpload
  Dim intCount
       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
  mySmartUpload.Upload

'  Save the files with their original names in a virtual path of the web server
'  ****************************************************************************
  intCount = mySmartUpload.Save("/aspSmartUpload/Upload")
  ' sample with a physical path
  ' intCount = mySmartUpload.Save("c:\temp\")

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(s) uploaded.")

Er der ikke et eneste sted i koden hvor en fil bliver defineret.. Kun nogen mapper.

Skrevet fre. d. 01. april 2005 kl. 12:31:17| #14

milandt
milandt (15.398 point)
busschou < bare vælg at du har domæne hos wannafind, og så skal du indtaste et domæne som wannafind hoster.. jeg prøvede mig frem med "wannafind.dk"

Skrevet fre. d. 01. april 2005 kl. 12:33:32| #15

milandt
milandt (15.398 point)
mikkeljans < du skal ikke downloade noget for at det skal virke. Det er et komponent som skal installeres på webserveren, men Wannafind yder den service at de allerede har købt og betalt for dette komponent og installeret det så deres kunder kan bruge det.

Var det din egen web-server du havde stående fx hjemme hos dig selv skulle du downloade og betale for komponentet som du skulle installere på web-serveren.

Skrevet fre. d. 01. april 2005 kl. 12:33:33| #16

busschou
busschou (65.175 point)
ok my bad den gemmer dem så ikke tæller kun i eksemplet åbenbart
men du kan bruge denne i stedet for dens optælling:
For each file In mySmartUpload.Files
If not file.IsMissing Then
file.SaveAs("STIEN TIL FILEN")
End If
--------------

Skrevet fre. d. 01. april 2005 kl. 12:34:32| #17

busschou
busschou (65.175 point)
den finder du i deres 2. eksempel

Skrevet fre. d. 01. april 2005 kl. 12:35:00| #18

busschou
busschou (65.175 point)
som er:
<HTML>
<BODY BGCOLOR="white">

<H1>aspSmartUpload : Sample 2</H1>
<HR>

<%
'  Variables
'  *********
  Dim mySmartUpload
  Dim file
  Dim intCount
  intCount=0
       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
  mySmartUpload.Upload

'  Select each file
'  ****************
  For each file In mySmartUpload.Files
  '  Only if the file exist
  '  **********************
      If not file.IsMissing Then
      '  Save the files with his original names in a virtual path of the web server
      '  **************************************************************************
        file.SaveAs("/aspSmartUpload/Upload/" & file.FileName)
        ' sample with a physical path
        ' file.SaveAs("c:\temp\" & file.FileName)

      '  Display the properties of the current file
      '  ******************************************
        Response.Write("Name = " & file.Name & "<BR>")
        Response.Write("Size = " & file.Size & "<BR>")
        Response.Write("FileName = " & file.FileName & "<BR>")
        Response.Write("FileExt = " & file.FileExt & "<BR>")
        Response.Write("FilePathName = " & file.FilePathName & "<BR>")
        Response.Write("ContentType = " & file.ContentType & "<BR>")
        Response.Write("ContentDisp = " & file.ContentDisp & "<BR>")
        Response.Write("TypeMIME = " & file.TypeMIME & "<BR>")
        Response.Write("SubTypeMIME = " & file.SubTypeMIME & "<BR>")
        intCount = intCount + 1
      End If
  Next

'  Display the number of files which could be uploaded
'  ***************************************************
  Response.Write("<BR>" & mySmartUpload.Files.Count & " files could be uploaded.<BR>")

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(s) uploaded.<BR>")
%>
</BODY>
</HTML>

Skrevet fre. d. 01. april 2005 kl. 12:37:38| #19

mikkeljans
mikkeljans (14.533 point)
Kan ikke rigtig forstå hvorfor koden skal være så besværlig.. Man burde da bare kunne angive en sti på harddisken og en sti på serveren?

Skrevet fre. d. 01. april 2005 kl. 12:41:47| #20

busschou
busschou (65.175 point)
hmm jeg kender kun til aspSmartUpload...og ikke andre komponenter.
Synes ikke det er såå besværligt. Formen i html giver jo sig selv
Koden i asp sikrer jo mimetyper med mere for at filen opfattes som den rigtige type
De eksempler jeg har set uden komponenter er meget meget værre

Skrevet fre. d. 01. april 2005 kl. 12:42:36| #21

mikkeljans
mikkeljans (14.533 point)
Ved den her kode er det da også kun stien på serveren der bliver opgivet? Kan ikke se hvor stien til filen der skal uploades er.

Skrevet fre. d. 01. april 2005 kl. 12:42:38| #22


Skrevet fre. d. 01. april 2005 kl. 12:42:53| #23

milandt
milandt (15.398 point)
ovenstående kode kunne også koges lidt ned.


  For each file In mySmartUpload.Files
    If not file.IsMissing Then
          file.SaveAs("/aspSmartUpload/Upload/" & file.FileName)
      End If
  Next

  Response.Write("<BR>" & mySmartUpload.Files.Count & " files could be uploaded.<BR>")

Skrevet fre. d. 01. april 2005 kl. 12:43:36| #24

busschou
busschou (65.175 point)
her
file.SaveAs("/aspSmartUpload/Upload/" & file.FileName)
det er både sti og navn
hvis du tænker på hvor filen kommer fra lokalt ja så er det jo gemt i formen

Skrevet fre. d. 01. april 2005 kl. 12:43:57| #25

milandt
milandt (15.398 point)
Du angiver din sti på harddisken her:

<FORM METHOD="POST" ACTION="upload.asp" ENCTYPE="multipart/form-data">
  <INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
  <INPUT TYPE="SUBMIT" VALUE="Upload">
</FORM>

Altså ikke i koden, men ved at bruge formen.

Skrevet fre. d. 01. april 2005 kl. 12:44:09| #26

busschou
busschou (65.175 point)
ja klart klart alle response write kan jo tages af :o)

Skrevet fre. d. 01. april 2005 kl. 12:45:20| #27

busschou
busschou (65.175 point)
nu er der vist en del dobbeltkonfekt eller hvad det hedder....så lader milandt overtage er nok bedst :o)... men lægger et svar i tilfælde af du vælger bruge noget af det jeg har skrevet

Skrevet fre. d. 01. april 2005 kl. 12:48:09| #28

mikkeljans
mikkeljans (14.533 point)
Jeg har 3 forms, der skal uploades 3 billedere til 3 forskellige mapper på serveren.. Her skal programmet kende forskel på dem.

Skrevet fre. d. 01. april 2005 kl. 13:01:42| #29

milandt
milandt (15.398 point)
i stedet for

  For each file In mySmartUpload.Files
    If not file.IsMissing Then
          file.SaveAs("/aspSmartUpload/Upload/" & file.FileName)
      End If
  Next

så gør sådan:

  i = 0   
  For each file In mySmartUpload.Files
    i = i + 1
    If not file.IsMissing Then
      file.SaveAs(Upload.Form(i).value & file.FileName)
    End If
  Next

formen kunne se sådan ud:

<FORM METHOD="POST" ACTION="upload.asp" ENCTYPE="multipart/form-data">
  <INPUT TYPE="HIDDEN" NAME="PATH1" VAULE="upload\folder1\">
  <INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
  <INPUT TYPE="HIDDEN" NAME="PATH2" VAULE="upload\folder2\">
  <INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
  <INPUT TYPE="HIDDEN" NAME="PATH3" VAULE="upload\folder3\">
  <INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
  <INPUT TYPE="SUBMIT" VALUE="Upload">
</FORM>

Skrevet fre. d. 01. april 2005 kl. 13:08:39| #30

milandt
milandt (15.398 point)
hvis du angiver stien som jeg har gjort skal du lige huske at gøre sådan når du gemmer filerne:

file.SaveAs(Server.MapPath(".") & "\" & Upload.Form(i).value & file.FileName)

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

ASP: formular udtræk med mulighed for at rette

Oprettet den 21. maj 2012 kl. 15.09
quarkb giver 200 point for svar | Giv et svar »

Sorter biblioteker efter dato i ASP

Oprettet den 17. maj 2012 kl. 16.52
4ks giver 60 point for svar | Giv et svar »

Simpel login-funktion (web) - behov for flere logins/brugere

Oprettet den 15. maj 2012 kl. 09.54
madx giver 75 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger