[HTML, ASP] File Input value probleem

Pagina: 1
Acties:
  • 182 views sinds 30-01-2008
  • Reageer

  • Garoth
  • Registratie: November 2002
  • Laatst online: 04-10-2024
Ik hoop dat het deze keer in het goede forum staat... :?

Ik heb een pagina gemaakt, waarmee je een database kunt onderhouden. Op zich niks spannends, gewoon toevoegen, wijzigen, verwijderen en zo. Nu gaat alles heel leuk en aardig, maar in de database moeten ook foto's komen te staan.
Dat was een slecht idee, dus had ik het anders gedacht. Alleen de naam van de foto's in de DB zetten. Wat opzich heel goed werkt.

Nu is het probleem dat ik de foto's via een form upload. Ik selecteer de foto's dmv een <input type="file">. Dit uploaden werkt perfect, maar ik krijg de bestandsnaam niet in de database. Dit omdat een file input de value property niet ondersteunt.
Is er een andere optie hiervoor? bijvoorbeeld eerst de files uploaden, en dan via een select scherm of zo de goede aanwijzen (ik roep maar wat...)?

Elke hulp is welkom...

Mocht dit alles onduidelijk zijn (waarschijnlijk), vraag gerust verder. Ik kan natuurlijk de code erbij zetten, maar dat heeft verder geen nut, aangezien het een normaal form is met een normaal submit knop. Alleen de code achter het uploaden is ingewikkeld.

Het enige dat ik dus moet hebben zijn de bestandsnamen...

Alvast bedankt,

Grtz

G

Als blikken konden doden, waarom doen ze er dan erwten in?


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Je kunt nadat het formulier gepost is gewoon de bestandsnaam uitlezen? Je slaat het bestand toch ook op op de server met een bepaalde naam.

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Je upload code zal een methode moeten hebben voor het uitlezen van de naam. Gebruik je pure VBscript om te uploaden of een component?

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Dat upload object zeg : Upfile , kan ook namen en atributen extracten.

Je moet maar even zoeken in google.

maar het wordt dan zo iets :

naan van veld is upload.

Databaseveld = Upfile.FileName("upload")

zo iets moet het zijn / kan het zijn.
Ik zit op mijn werk dus kan niet even kijken hoe ik dat gedaan heb, want ik werk op de zelfde manier.
foto uploaden en enkel naam in database.
Weet ook dat ik daar een nacht wakker van gelegen heb :-)

  • Garoth
  • Registratie: November 2002
  • Laatst online: 04-10-2024
ik zal even zoeken naar hoe dat uploaden het doet. Het is een script of zoiets dat ik hier op tweakers had gevonden.
Volgens mij heette het Pure-Upload, maar ik kan me vergissen. Momentje ik zoek even...

Als blikken konden doden, waarom doen ze er dan erwten in?


Verwijderd

Pure upload
oh dat is uploaden zonder object.
maar werkt wel het zelfde , je maakt zelf dan een class die hij defineerd als object.

  • P_de_B
  • Registratie: Juli 2003
  • Niet online

Oops! Google Chrome could not find www.rijks%20museum.nl


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Verwijderd schreef op maandag 29 november 2004 @ 13:16:
Pure upload
oh dat is uploaden zonder object.
maar werkt wel het zelfde , je maakt zelf dan een class die hij defineerd als object.
En daaruit zal je de bestandsnaam moeten kunnen lezen :)

File.FileName :)

[ Voor 7% gewijzigd door André op 29-11-2004 13:18 ]


Verwijderd

^^^^
zo als ik reeds schreef :)

[ Voor 12% gewijzigd door Verwijderd op 29-11-2004 13:20 ]


  • Garoth
  • Registratie: November 2002
  • Laatst online: 04-10-2024
http://www.motobit.com/help/scptutl/pa38.htm

Dat is het spul dat ik gebruik.
Maar hoe kom ik dan aan die Filename? Want ik upload 4 foto's tegelijk, dus File.Filename zal misschien moeilijk worden...

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<%
Option Explicit
'Stores only files with size less than MaxFileSize

Dim ID

ID= request.querystring("ID")

Dim DestinationPath
DestinationPath = Server.mapPath("foto")

'Create upload form
'Using Huge-ASP file upload
'Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
'Using Pure-ASP file upload
Dim Form: Set Form = New ASPForm %><!--#INCLUDE FILE="_upload.asp"--><% 


Server.ScriptTimeout = 2000
Form.SizeLimit = &H100000

If Form.State = 0 Then 'Completted
  Form.Files.Save DestinationPath 
  response.redirect("insert.asp")
ElseIf Form.State > 10 then
  Const fsSizeLimit = &HD
  Select case Form.State
    case fsSizeLimit: response.write  "<br><Font Color=red>Source form size _
(" & Form.TotalBytes & "B) exceeds form limit (" & Form.SizeLimit & "B)</Font>_
<br>"
    case else response.write "<br><Font Color=red>Some form error.</Font><br>"
  end Select
End If'Form.State = 0 then


%>  
<HTML>
<HEAD>
  <TITLE></TITLE>
</HEAD>
<BODY>

<h1> Voeg Foto's Toe</h1>

<hr width="85%">

<form method="POST" ENCTYPE="multipart/form-data">
<table width="80%" align="center">
<tr>
   <td width="20%" align="left"><strong>Foto 1 :</strong></td> 
   <td align="left"><input type="file" name="Foto1"></td>
</tr>
<tr>
   <td width="20%" align="left"><strong>Foto 2 :</strong></td> 
   <td align="left"><input type="file" name="Foto2"></td>
</tr>
<tr>
   <td width="20%" align="left"><strong>Foto 3 :</strong></td> 
   <td align="left"><input type="file" name="Foto3"></td>
</tr>
<tr>
  <td width="20%" align="left"><strong>Foto 4 :</strong></td> 
  <td align="left"><input type="file" name="Foto4"></td>
</tr>
</table>

<hr width="85%">

<table width="80%" align="center">
<tr>
  <td width="100%" align="center"><input Name=SubmitButton Value="Upload_
 foto's &gt;&gt;" Type="submit"></td>
</tr>
</table>
</Form>

</BODY>
</HTML>


Kan ik dat hierin kwijt, of moet ik dat in de code doen die het uploaden zelf doet?

*edit - ff layout aangepast*

[ Voor 27% gewijzigd door Garoth op 29-11-2004 13:25 ]

Als blikken konden doden, waarom doen ze er dan erwten in?


Verwijderd

In die upload file kun je dus waarden halen van deze pagina

bestand1
bestand2
bestand3 etc .

Stel hij defineerd : ThisToUpload

Dan worden jouw waarden :

Databasefile1 = ThisToUpload.FileName("bestand1")
etc.


*** onder Bij andre staat de code hier voor :) *****

[ Voor 56% gewijzigd door Verwijderd op 29-11-2004 13:28 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

code:
1
2
3
Dim Field: For Each Field In Form
  Response.Write "<br> " & Field.FileName
Next

  • Garoth
  • Registratie: November 2002
  • Laatst online: 04-10-2024
Helaas krijg ik dan dit:

Error Type:
Microsoft VBScript runtime (0x800A01B6)
Object doesn't support this property or method


Ik heb het bovenaan tussen de ASP code neergezet. Bij :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim Form: Set Form = New ASPForm %><!--#INCLUDE FILE="_upload.asp"--><% 
Dim Field
  

Server.ScriptTimeout = 2000
Form.SizeLimit = &H100000

If Form.State = 0 Then 'Completted
  Form.Files.Save DestinationPath
  For Each Field In Form
    Response.Write "<br> " & Field.FileName
  Next 
  response.redirect("insert.asp")
ElseIf Form.State > 10 then


Ik zou niet weten waar ik het moet zetten in _upload.asp...

Hebben jullie ervaring met deze "component"?

Als blikken konden doden, waarom doen ze er dan erwten in?


Verwijderd

Wat andre schreef en ik ook , zijn virtuele waren en namen
je moet eerst op onderzoek uit gaan welke naam hij voor het upload component gekozen heeft

vermoedelijk zal het iets zijn van oUpload zijn of zo iets.

daar mee moet je aan de gang gaan.


bij mij werkt het als volgt:
code:
1
2
3
4
5
6
Set oUpload = New FileUpload
strFile = oUpload.FileName("BESTAND")

' insert value in base : 

database veld A = strFile

[ Voor 33% gewijzigd door Verwijderd op 29-11-2004 13:41 ]


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 10:03

Pelle

🚴‍♂️

Op naar de buren, want daar hebben ze hier meer verstand van :P

  • Garoth
  • Registratie: November 2002
  • Laatst online: 04-10-2024
Zover ik weet is het object dan ASPForm getuige :
code:
1
Dim Form: Set Form = New ASPForm %><!--#INCLUDE FILE="_upload.asp"--><%


alleen snap ik niet hoe het kan dat hij geen enkele van de properties kan benaderen die in _upload.asp staan gedefinieerd. Die staan allen gedefinieerd als Class, maar ik kan ze niet aanspreken...

Als blikken konden doden, waarom doen ze er dan erwten in?


  • Garoth
  • Registratie: November 2002
  • Laatst online: 04-10-2024
En Hops!

Na wat spitten:

code:
1
2
3
If Form.State = 0 Then 'Completted
  Form.Files.Save(DestinationPath)
  response.write(Form("foto1").FileName)


Dit werkt. Het moest dus net andersom als ik al de hele tijd aan het proberen was... |:(

Maar goed, heel erg bedankt voor jullie hulp!!!

Als blikken konden doden, waarom doen ze er dan erwten in?

Pagina: 1