01. december 2002 - 11:41Der er
21 kommentarer og 1 løsning
Cannot use Request.Form
Request object error 'ASP 0207 : 80004005' Cannot use Request.Form /admin/uploadgfx.asp, line 69 Cannot use Request.Form collection after calling BinaryRead
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Problemet er, at jeg bruger ENCTYPE="multipart/form-data" Men hvordan får jeg så variablerne ud af formen, så jeg kan indsætte filnavnet i en DB?
Synes godt om
Slettet bruger
01. december 2002 - 12:06#2
Det ser ud til at du bruger en komponent til at uploade data med. Kan du ikke hive Form data ud med denne? Det kan man eksempelvis med ASPUpload. Her findes en Collection med netop Form data:
For Each objForm In objUpload.Form
Next
Her kan du så hente værdierne ud vha. objForm.Value.
Der er naturligvis meget mere kode, men det må være i det viste jeg skal trække mine variabler ud.
Synes godt om
Slettet bruger
01. december 2002 - 12:20#5
Problemet består vel i at du anvender Request.Form efter metoden FileUpload har anvendt Response.BinaryWrite. Nu ved jeg så ikke hvorfor BinaryWrite anvendes på siden, men det ser da ud til at kunne undgås, da du bruger <img> til at vise et billede med.
Jeg er helt på spanden. Jeg har forsøgt, at tildele min request.form til en lokalvariabel i toppen men det virker stadigvæk ikke. Har du ikke lyst til at se m in kode?
tjoo.. det kan jeg da godt.. men jeg tror ærlig talt du skal lave din kode om, så du ikker bruger request.form og binaryread/write på samme side... jeg har selv lavet en side engang hvor man kunne uploade et billede, og data'erne om billedet blev så gemt i en db... koden så såden her ud:
Dim mySmartUpload, SImage, intCount
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload") Set SImage = Server.CreateObject("SImageUtil.Image") mySmartUpload.Upload intCount = 0 For each file In mySmartUpload.Files If not file.IsMissing Then file.SaveAs(Server.MapPath(file.FileName)) Conn.Execute("INSERT INTO [image] ([size], [filename], [Ext], [ContentType], [ContentDisp], [TypeMIME], [SubTypeMIME]) VALUES ('"& file.Size &"', '"& file.FileName &"', '"& file.FileExt &"', '"& file.ContentType &"', '"& file.ContentDisp &"', '"& file.TypeMIME &"', '"& file.SubTypeMIME &"')") SImage.Thumb file.FileName, 100, 100, "thumb/"& file.FileName, 75 Response.Write("FileName = " & file.FileName & "<BR>") intCount = intCount + 1 End If Next
nu ved jeg selvfølgelig ikke hvilken information du vil have fat i med request.form men ved hjælp af aspsmartupload kan man få fat i en heel dil info om den uploadede fil uden at gøre brug af request.form
Jeg vil fra en form finde filnavn og Bruger, så db'en indeholder et filnavn på den rigtige bruger. Det er får at lave bruger-upload af et billede i en profil Hvis du forstår :-)
jeg forstår... men hvis det er bygget op som et forum hvor man skal være logget ind for at uploade, så kan du jo udnytte det, og automatisk vedhæfte brugernavnet på den bruger der er logget ind på den givne fil, i stedet for at brugeren skal skrive sit navn ind når han skal uploade.
Der er to steder hvor det skal kunne lade sig gøre. Både med password men også fra en speciel admin-side hvor den bruger der skla uploades til jo ikke selv er logget ind.
jeg kan desværre ikke rigtig hjælpe dig... en sidste ting du dog kunne lave, det var at strikke to forms sammen på din side der poster til hver sin side. På den ene form har du billedet, og på den anden form brugerinfoen. Ved hjælp af javascript kan du så submitte dem begge to på samme tid
Function PostForms() { document.form1.submit(); document.form2.submit(); document.location.href='done.asp'; }
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.