Avatar billede steen_hansen Forsker
21. marts 2004 - 17:55 Der er 65 kommentarer og
1 løsning

Scripts til ASPImage 2.x og Dundas Upload?

Jeg er næsten færdig med min side, men jeg mangler at kunne uploade filer (billeder), og jeg mangler at kunne skalere billeder til forskellige sider.

Til det er ASPImage og Dundas inkluderet i mit abonnement. Er der nogen her, der har noget færdigt liggende, som der kan deles med alle os andre? Jeg sætter gerne point op til maks, hvis der er noget brugbart.

Det er faktisk noget af det sidste jeg mangler, men har udskudt det, fordi jeg ikke liiige kan overskue det :o)
Avatar billede eagleeye Praktikant
23. marts 2004 - 23:02 #1
Jeg må erkende jeg ikke kender vildt meget til Dundas komponenten. Det jeg har hjulpet er fundet på deres hjemmeside, men jeg kan se de har lukket deres online-manual..

Men her er lidt kode til at upload en fil:
<%
sti = "/images"

On Error Resume Next

Set oUpload = Server.CreateObject ("Dundas.Upload.2")
'Gemmer filen
oUpload.Save  Server.Mappath(sti) & "\"

If Err.Number <> 0 Then 
  response.write err.description & "<br>"
  Set oUpload = nothing
  Response.End
end if

Set oUploadedFile = oUpload.Files(0)

sFileName = oUploadedFile.OriginalPath
nExtStartPos = InStrRev(sFilename, "\")
If nExtStartPos > 0 Then sFileName = Trim(Mid(sFilename, nExtStartPos + 1))

'Her kan man så sætte noget ASPImage ind.
filnavn = sti & "/" & sFileName
filnavnThumb = sti & "/t_" & sFileName

MyImage.LoadImage Server.Mappath(filnavn)

'Set Resize factor for X
ResizedX = 350

'Get orignal size of image
MyImage.GetImageFileSize Server.Mappath(filnavn), X, Y
MyImage.MaxX = X
MyImage.MaxY = Y

'maintain aspect ratio
ResizedY = (ResizedX / MyImage.MaxX) * MyImage.MaxY
MyImage.ResizeR ResizedX, ResizedY

'saving thumbnail to disk
MyImage.ImageFormat = 1
MyImage.FileName = Server.Mappath(filnavnThumb)
MyImage.SaveImage

Set MyImage = Noting   
Set oUpload = Nothing
%>


Her kan du evt. download noget kode:
http://www.eggheadcafe.com/authorcodesamples/20010226.asp
Avatar billede steen_hansen Forsker
23. marts 2004 - 23:21 #2
OK, dvs. dette er upload:

<%
sti = "/images"

On Error Resume Next

Set oUpload = Server.CreateObject ("Dundas.Upload.2")
'Gemmer filen
oUpload.Save  Server.Mappath(sti) & "\"

If Err.Number <> 0 Then 
  response.write err.description & "<br>"
  Set oUpload = nothing
  Response.End
end if

Set oUploadedFile = oUpload.Files(0)

sFileName = oUploadedFile.OriginalPath
nExtStartPos = InStrRev(sFilename, "\")
If nExtStartPos > 0 Then sFileName = Trim(Mid(sFilename, nExtStartPos + 1))
%>



Og dette ASPImage:

<%
'Her kan man så sætte noget ASPImage ind.
filnavn = sti & "/" & sFileName
filnavnThumb = sti & "/t_" & sFileName

MyImage.LoadImage Server.Mappath(filnavn)

'Set Resize factor for X
ResizedX = 350

'Get orignal size of image
MyImage.GetImageFileSize Server.Mappath(filnavn), X, Y
MyImage.MaxX = X
MyImage.MaxY = Y

'maintain aspect ratio
ResizedY = (ResizedX / MyImage.MaxX) * MyImage.MaxY
MyImage.ResizeR ResizedX, ResizedY

'saving thumbnail to disk
MyImage.ImageFormat = 1
MyImage.FileName = Server.Mappath(filnavnThumb)
MyImage.SaveImage

Set MyImage = Noting   
Set oUpload = Nothing
%>


Linien "ResizedX = 350" vil så sætte størrelsen til 350 px i bredden?
Avatar billede eagleeye Praktikant
23. marts 2004 - 23:25 #3
Jeps det har du helt ret i. I alle 3 ting :)

Det kan måske være en god ide først at få upload delen til at virker og så bygge det med ASPImage på sådan der er så få ubekendte til at starte med :) Det syntes jeg tit kan være en fordel.
Avatar billede steen_hansen Forsker
23. marts 2004 - 23:28 #4
Nemlig :o)

Men jeg kan se, at der står nogle danske ord: filnavn, sti, filnavnThumb etc. Jeg skal angive sti m.m?
Avatar billede steen_hansen Forsker
23. marts 2004 - 23:29 #5
Jeg mener: Skal jeg definere stiangivelse, variabler ...?
Avatar billede steen_hansen Forsker
23. marts 2004 - 23:30 #6
... eller burde det være til at bruge med det samme?
Avatar billede eagleeye Praktikant
23. marts 2004 - 23:31 #7
sti var tænkt til at angive hvor billedet skal gemmes:

sti = "/images"
Avatar billede eagleeye Praktikant
23. marts 2004 - 23:31 #8
Som angivet sti = "/images" gemmer den filerne i en folder som hedder images som skal ligge i root på serveren.
Avatar billede steen_hansen Forsker
23. marts 2004 - 23:31 #9
Fino, jeg prøver det lige af.
Avatar billede steen_hansen Forsker
23. marts 2004 - 23:36 #10
Jeg skal også lave en formular, kan jeg se?

Så vidt jeg husker, så er det <input name="et-eller-andet-navn" type="file">
Avatar billede eagleeye Praktikant
23. marts 2004 - 23:38 #11
Ja det rigtigt :) og noget andet som er meget vigtigt ved fil upload at havde EncType="Multipart/Form-Data" i form tagen, et eks:

  <form method="post" action="upload.asp" EncType="Multipart/Form-Data">
Avatar billede steen_hansen Forsker
23. marts 2004 - 23:41 #12
Ok, jeg må prøve. Hvis ikke det lykkes, håber jeg du er frisk? Jeg ved jeg har fået meget hjælp af dig, eagle, jeg vil ikke drive rovdrift på dig.

Jeg prøver lige ...
Avatar billede eagleeye Praktikant
23. marts 2004 - 23:43 #13
Det helt i orden :)
men det bliver nok ikke til meget mere en 20-30 minutter i aften.
Avatar billede steen_hansen Forsker
23. marts 2004 - 23:47 #14
Jeg er også på vej i seng :o)

Jeg får denne fejl: Failed to get the boundary

Og du får lige koden her:

<%
sti = "/images"

On Error Resume Next

Set oUpload = Server.CreateObject ("Dundas.Upload.2")
'Gemmer filen
oUpload.Save  Server.Mappath(sti) & "\"

If Err.Number <> 0 Then 
    response.write err.description & "<br>"
    Set oUpload = nothing
    Response.End
End If

Set oUploadedFile = oUpload.Files(0)

sFileName = oUploadedFile.OriginalPath
nExtStartPos = InStrRev(sFilename, "\")
If nExtStartPos > 0 Then sFileName = Trim(Mid(sFilename, nExtStartPos + 1))
%>

<form method="post" action="/upload2.asp" EncType="Multipart/Form-Data">
    <input name="upload" type="file"><br><br>
    <input type="submit" value="Upload bilede" name="B1">&nbsp; <input type="reset" value="Nulstil" name="B2">
</form>
Avatar billede eagleeye Praktikant
23. marts 2004 - 23:49 #15
Ligger det i samme fil?
Avatar billede steen_hansen Forsker
23. marts 2004 - 23:50 #16
Ja
Avatar billede eagleeye Praktikant
23. marts 2004 - 23:51 #17
Så skal der nemlig lige et tjek ind om der er post'et data til siden inden man bruger dundas delen:

<%
if Reqest.ServerVariables("REQUEST_METHOD") = "POST" then
sti = "/images"

On Error Resume Next

Set oUpload = Server.CreateObject ("Dundas.Upload.2")
'Gemmer filen
oUpload.Save  Server.Mappath(sti) & "\"

If Err.Number <> 0 Then 
    response.write err.description & "<br>"
    Set oUpload = nothing
    Response.End
End If

Set oUploadedFile = oUpload.Files(0)

sFileName = oUploadedFile.OriginalPath
nExtStartPos = InStrRev(sFilename, "\")
If nExtStartPos > 0 Then sFileName = Trim(Mid(sFilename, nExtStartPos + 1))


'Evt for test udskriv filnavnet:

Response.Write sFileName

end if
%>

<form method="post" action="/upload2.asp" EncType="Multipart/Form-Data">
    <input name="upload" type="file"><br><br>
    <input type="submit" value="Upload bilede" name="B1">&nbsp; <input type="reset" value="Nulstil" name="B2">
</form>
Avatar billede steen_hansen Forsker
23. marts 2004 - 23:53 #18
Ok, det er rettet. Nu får jeg denne:

Microsoft VBScript runtime error '800a01a8'

Object required: 'Reqest'

/upload2.asp, line 2
Avatar billede eagleeye Praktikant
23. marts 2004 - 23:55 #19
det så mig der ikke kan stave, der manget et u :)

Request
Avatar billede steen_hansen Forsker
23. marts 2004 - 23:59 #20
ok :oD
Avatar billede steen_hansen Forsker
24. marts 2004 - 00:16 #21
Can't open file for writing
Avatar billede steen_hansen Forsker
24. marts 2004 - 00:17 #22
Hvis du er smuttet, snakkes vi bare ved :o)
Avatar billede steen_hansen Forsker
24. marts 2004 - 00:18 #23
Can't open file for writing - Efter jeg har submittet
Avatar billede eagleeye Praktikant
24. marts 2004 - 00:21 #24
Avatar billede steen_hansen Forsker
24. marts 2004 - 00:22 #25
Ok, foreløbig tak, eagle :o)
Avatar billede eagleeye Praktikant
24. marts 2004 - 00:23 #26
Men det er noget med rettigheder. Har du rettetig til at oprette filer i den valgte folder? Er det din egen server kan du sætte det op, er det et web-hotel skal du hvade dem til at sætte det op i den folder.
Avatar billede eagleeye Praktikant
24. marts 2004 - 00:23 #27
godnat :)
Avatar billede steen_hansen Forsker
24. marts 2004 - 00:25 #28
Så er dét på plads: {E887CD57-8B2E-425D-A699-D9176369BD92}_0211bf.jpg

Håber vi kan kigge på ASPImage en anden dag :o)
Avatar billede steen_hansen Forsker
24. marts 2004 - 00:25 #29
g'nat :)
Avatar billede steen_hansen Forsker
24. marts 2004 - 00:30 #30
Ups, overså lige 24/03-2004 00:23:04

Ja, det er manglende skriverettigheder til /images. Jeg rettede det til fpdb (FrontPageDataBase), og så virkede det.

Snakkes :o)
Avatar billede steen_hansen Forsker
24. marts 2004 - 00:31 #31
Overså også linket: http://www.eggheadcafe.com/authorcodesamples/20010226.asp

Her er det hele vist, både med delete og noget :o)
Avatar billede steen_hansen Forsker
25. marts 2004 - 21:57 #32
Jeg roder lidt med det ind imellem, eagleeye, jeg har ikke glemt det :o)


Går snart i gang med ASPImage. Apropos, så ligger der jo MEGET i det:

Hvis du går ind på www.include.dk og ser, så er det meningen, at der skal være en hovednyhed, som ligger øverst. Denne nyhed er fra i dag. Billedet kunne have en bredde på f.eks. 200 pixels.

I morgen kommer der en ny hovednyhed, og "skubber" hovednyheden fra i dag ned i de 4 underliggende nyheder. Hernede får den en bredde på f.eks. 100 pixels.

Når man går ind og læser nyheden, kan den have en bredde på de 200 pixels, men man skal så kunne trykke på billedet og se det i fuld størrelse, som f.eks. kunne være 550 pixels. Dvs. der reelt er brug for 3 størrelser: 100 px, 200 px og 550 px. Det er en større historie, er det ikke?
Avatar billede steen_hansen Forsker
25. marts 2004 - 21:59 #33
PS: Du skal ikke tage dig af struktur/design. Alt er midlertidigt, intet af det er færdigt endnu :o)
Avatar billede eagleeye Praktikant
25. marts 2004 - 22:17 #34
Det helt i orden :)

Hvis du gemmer orginalt billet først er det ikke det større besvær at lave 3 størrelser af billedet...



Hvis vi lige antager orginal filnanvet er i sFileName og så laves variablen filnavn med orginal sti+filnavet. Så man kan lave billedet med t100_xxx.yyy t200_xxx.yyy og t500_xxx.yyy det er bare som eksempel på hvad filerne kan hedde.


<%
'Her kan man så sætte noget ASPImage ind.
filnavn = sti & "/" & sFileName
filnavnThumb100 = sti & "/t100_" & sFileName
filnavnThumb200 = sti & "/t200_" & sFileName
filnavnThumb550 = sti & "/t550_" & sFileName

Set Image = Server.CreateObject("AspImage.Image")
Image.LoadImage (Server.Mappath(filnavn))
'Find billede højde og brede
Width = Image.MaxX
Height = Image.MaxY

'lave 100xXXX billedet:
newSize = 100
NewWidth  = newSize
NewHeight = (newSize / Width) * Height
Image.Resize newSize,NewHeight

'Gem billedet
Image.ImageFormat = 1
Image.FileName = Server.Mappath(filnavnThumb100)
Image.SaveImage

'Lav næste fil
Image.LoadImage (Server.Mappath(filnavn))
'lave 200xXXX billedet:
newSize = 200
NewWidth  = newSize
NewHeight = (newSize / Width) * Height
Image.Resize newSize,NewHeight

'Gem billedet
Image.ImageFormat = 1
Image.FileName = Server.Mappath(filnavnThumb200)
Image.SaveImage

'Lav næste fil
Image.LoadImage (Server.Mappath(filnavn))
'lave 550xXXX billedet:
newSize = 550
NewWidth  = newSize
NewHeight = (newSize / Width) * Height
Image.Resize newSize,NewHeight

'Gem billedet
Image.ImageFormat = 1
Image.FileName = Server.Mappath(filnavnThumb550)
Image.SaveImage

Set Image = Nothing
Avatar billede steen_hansen Forsker
25. marts 2004 - 22:25 #35
Det ser fornuftigt ud, eagleeye :o)

Jeg har dog haft problemer med at trække billederne ud på en ganske almindelige html-side. Dels får det nok et lang ID foran filnavnet: {E887CD57-8B2E-425D-A699-D9176369BD92}_0211bf.jpg

Prøver jeg at linke til dette billede, eller sætte det ind i et html-dokument, så får jeg et dødt link (den hvide firkant med det røde kryds).

Prøver jeg at fjerne

{E887CD57-8B2E-425D-A699-D9176369BD92}

så filen nu hedder

0211bf.jpg

er der ingen forskel, jeg får stadig et dødt link. Upload-scriptet virker upåklageligt, men der sker et eller andet. Men hva'?
Avatar billede eagleeye Praktikant
25. marts 2004 - 22:28 #36
Grunden til {E887....} er på er fordi dundas hhar en property som gør den laver et unik filnavn. Den kan du evt. slå fra så filen bare hedder 0211bf.jpg når den bliver uploaded.
Avatar billede steen_hansen Forsker
25. marts 2004 - 22:30 #37
Ok. Men at den har et unikt navn er vel det bedste? Når der ligger 354635465 billeder på serveren, er det svært at huske, om man allerede har et billede, der hedder steen_hansen.jpg. Er det ikke en fordel at have det med?
Avatar billede eagleeye Praktikant
25. marts 2004 - 22:32 #38
Jo det rigtigt det vil være en fordel, men virker billedet ikke ? herlle ikke med:

<img src="{E887CD57-8B2E-425D-A699-D9176369BD92}_0211bf.jpg">
Avatar billede steen_hansen Forsker
25. marts 2004 - 22:33 #39
Jeg kan lige prøve at uploade et billede og give dig linket. Øjeblik ...
Avatar billede steen_hansen Forsker
25. marts 2004 - 22:35 #41
Prøver lige at lægge det ind i et dokument. Tror ikke det vil gøre nogen forskel.
Avatar billede steen_hansen Forsker
25. marts 2004 - 22:36 #42
Avatar billede eagleeye Praktikant
25. marts 2004 - 22:38 #43
og hvis du fjerner tallet i {} virker det fint?
Avatar billede steen_hansen Forsker
25. marts 2004 - 22:40 #44
Nej, heller ikke :o)

Prøver at fjerne {B84DB6E1-710D-4FC8-82BD-F4EFBE16E000}_ fra både filnavn og billede. Øjeblik ..
Avatar billede steen_hansen Forsker
25. marts 2004 - 22:41 #45
Det er fjernet, og det virker stadig ikke.
Avatar billede eagleeye Praktikant
25. marts 2004 - 22:43 #46
Er du sikker på filen ligger det rigtige sted så?
Avatar billede eagleeye Praktikant
25. marts 2004 - 22:43 #47
Er folderen fpdb en folder som liger i wwwroot?
Avatar billede steen_hansen Forsker
25. marts 2004 - 22:45 #48
Ja til begge spørgsmål :o)
Avatar billede eagleeye Praktikant
25. marts 2004 - 22:50 #49
Hvis du kan se filen ligger på severen i folderen fpdb og fpdb ligger i root på serveren og billedet ikke vises så der noget helt andet galt???

<img src="/fpdb/americans.jpg">
Avatar billede steen_hansen Forsker
25. marts 2004 - 22:54 #50
Jeg kan se filen på serveren, både via WS_FTP og FP (har FP-extensions).

Det problem fra 24/03-2004 00:16:57 (Can't open file for writing) skyldtes jo manglende skriverettigheder på mappen. Derfor ændrede jeg stien til fpdb, som databaserne ligger i.

Når man bestiller et webhotel med FP-ext. er denne mappe standard til databaserne, fordi der er skriverettigheder på. Så jeg kan ikke tro det er der probl. ligger?
Avatar billede steen_hansen Forsker
25. marts 2004 - 22:57 #51
Jeg tror helt bestemt fejlen skal findes på serveren/FrontPage-extensions. Jeg prøver at tage kontakt til StruerNet i morgen og får skriverettigeder til /images/
Avatar billede steen_hansen Forsker
25. marts 2004 - 22:58 #52
... så skal vi ikke lade dén ligge til jeg har snakket med dem? :o)
Avatar billede eagleeye Praktikant
25. marts 2004 - 22:59 #53
Hvordan connecter du til din database et det Server.mappayh("/fpdb/filnavn.mdb") ?

Typisk ligger web-hotelerne database folder i samme folder som root og ikke i root folderen sådan andre ikke kan downloade databasen ved at skrive linket:
www.xxx.dk/fpdb/filnavn.mdb
Avatar billede steen_hansen Forsker
25. marts 2004 - 23:06 #54
Ups? Det har jeg ikke skænket en tanke, jeg har bare taget scriptet, som det blev rettet til og lagt ud i roden: http://www.include.dk/upload2.asp

HELE upload2.asp ser sådan her ud:

<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
sti = "/fpdb"

On Error Resume Next

Set oUpload = Server.CreateObject ("Dundas.Upload.2")
'Gemmer filen
oUpload.Save  Server.Mappath(sti) & "\"

If Err.Number <> 0 Then 
    Response.Write err.description & "<br>"
    Set oUpload = Nothing
    Response.End
End If

Set oUploadedFile = oUpload.Files(0)

sFileName = oUploadedFile.OriginalPath
nExtStartPos = InStrRev(sFilename, "\")
If nExtStartPos > 0 Then sFileName = Trim(Mid(sFilename, nExtStartPos + 1))


'Evt for test udskriv filnavnet:

Response.Write sFileName

end if
%>

<form method="post" action="/upload2.asp" EncType="Multipart/Form-Data">
    <input name="upload" type="file"><br><br>
    <input type="submit" value="Upload billede" name="B1">&nbsp; <input type="reset" value="Nulstil" name="B2">
</form>

Jeg har lige kontrolleret størrelsen på americans.jpg (på serveren), og den fylder 249,65 kb, så den ligger der godt nok.

Der bliver da ikke lavet nogen DB-conn? Jeg er lidt forvirret nu :o)
Avatar billede steen_hansen Forsker
25. marts 2004 - 23:07 #55
Jeg behøver jo heller ikke at connecte til nogen DB, eftersom der ikke bliver brugt nogen?
Avatar billede steen_hansen Forsker
25. marts 2004 - 23:11 #56
.. men ellers er stiangivelsen /fpdb/database.mdb - ja :o)
Avatar billede steen_hansen Forsker
25. marts 2004 - 23:17 #57
Skal jeg prøve at kontakte dem i morgen og høre hvad de siger?
Avatar billede eagleeye Praktikant
25. marts 2004 - 23:19 #58
Ja det tror jeg er en god ide.
Avatar billede steen_hansen Forsker
25. marts 2004 - 23:25 #59
Det gør jeg, og lader både Dundas og ASPImage ligge indtil da :o)

Foreløbigt tak. Bedste ven :o)
Avatar billede steen_hansen Forsker
25. marts 2004 - 23:26 #60
Forøvrigt, kan du ikke lægge et svar? Du har allerede rigeligt fortjent de point :o)
Avatar billede steen_hansen Forsker
25. marts 2004 - 23:50 #61
... og tak for karma! Det var morderligt pænt skrevet :o)
Avatar billede steen_hansen Forsker
25. marts 2004 - 23:56 #62
Undskyld, det var hvad jeg selv har skrevet :oD
Avatar billede steen_hansen Forsker
28. marts 2004 - 16:51 #63
Lægger du lige et svar, eagle?

Jeg nåede selvfølgelig ikke at ringe til StruerNet. Men det får jeg gjort mandag.
Avatar billede eagleeye Praktikant
28. marts 2004 - 16:52 #64
Ja ok her et svar :)
Avatar billede steen_hansen Forsker
28. marts 2004 - 16:54 #65
Foreløbigt tak, eagle. Håber jeg kan spørge til det, hvis jeg kører helt sur i det?
Avatar billede steen_hansen Forsker
24. maj 2004 - 23:03 #66
eagleeye, jeg håber du har tid og lyst til at kigge på http://www.eksperten.dk/spm/501449? I så fald, så kig på det seneste indlæg fra mig :os
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