/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problemer med billedeuploadscript
Fra : Flemming C. Lund


Dato : 11-11-02 21:16

Jeg fik for et stykke tid siden tilsendt et par billedeuploadfiler som jeg
skulle bruge på en side. Jeg fik aldrig brug for dem dengang, men skal bruge
dem nu. Nu kan jeg bare ikke få skidtet til at virke. Koden ser således ud:

<% Session("DB") =
"DBQ=d:\www2\domæne\databasemappe\cocio.mdb;DefaultDir=d:\www2\domæne\databa
semappe\;Driver={Microsoft Access Driver (*.mdb)};"
%> <%
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.SetMaxSize 900000, True
Upload.SaveVirtual("/databasemappe/")

For Each Item in Upload.Form
FileID = Item.Value
Next

For Each File in Upload.Files
File.ToDatabase Session("DB"), "Update Pictures Set PicID = "&FileID&",
Path = '"&File.Path&"', Data= ? where Email = '"&FileID&"'"

if Err <> 0 Then
Response.Write "Der er et eller flere problemer med dit billede. Prøv
at tjekke kravene for billeder. Klik på dit internetprograms tilbage knap. "
Else
File.Delete
Response.redirect("done.asp")
End If
Next
%>


Hvad skal jeg gøre for at få det til at virke? Problemet ligger højst
sandsynligt i adressen til databasen. Jeg er ikke sikker på hvordan den skal
udfyldes. Mit forslag er:


<% Session("DB") =
"DBQ=d:\www2\www.fclund.dk\db\cocio.mdb;DefaultDir=d:\www2\www.fclund.dk\db\
;Driver={Microsoft Access Driver (*.mdb)};"
%> <%
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.SetMaxSize 900000, True
Upload.SaveVirtual("/db/images/")

For Each Item in Upload.Form
FileID = Item.Value
Next

For Each File in Upload.Files
File.ToDatabase Session("DB"), "Update Pictures Set PicID = "&FileID&",
Path = '"&File.Path&"', Data= ? where Email = '"&FileID&"'"

if Err <> 0 Then
Response.Write "Der er et eller flere problemer med dit billede. Prøv
at tjekke kravene for billeder. Klik på dit internetprograms tilbage knap. "
Else
File.Delete
Response.redirect("done.asp")
End If
Next
%>

.....men jeg kan ikke få det til at virke. Nogen der kan se hvad der er galt?
Jeg har i øvrigt ikke den helt store forstand på ASP...



 
 
Jens Gyldenkærne Cla~ (12-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 12-11-02 09:55

Flemming C. Lund skrev:

> Hvad skal jeg gøre for at få det til at virke? Problemet
> ligger højst sandsynligt i adressen til databasen. Jeg er ikke
> sikker på hvordan den skal udfyldes.

Hvis du ikke kender den nøjagtige sti til databasen kan du bruge
Server.Mappath (se fx her:
<http://www.4guysfromrolla.com/webtech/121799-1.shtml>)


> Mit forslag er:
> <% Session("DB") =
> "DBQ=d:\www2\www.fclund.dk\db\cocio.mdb;DefaultDir=d:\www2\www.
> fclund.dk\db\ ;Driver={Microsoft Access Driver (*.mdb)};"


Har du prøvet det?
Hvad er resultatet?
Og hvordan er du noget frem til det forslag?


> ....men jeg kan ikke få det til at virke. Nogen der kan se
> hvad der er galt? Jeg har i øvrigt ikke den helt store
> forstand på ASP...


Start med at læse <http://www.asp-faq.dk/article/?id=41> og evt.
<http://www.asp-faq.dk/article/?id=45>.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Flemming C. Lund (12-11-2002)
Kommentar
Fra : Flemming C. Lund


Dato : 12-11-02 12:37

> > Mit forslag er:
> > <% Session("DB") =
> > "DBQ=d:\www2\www.fclund.dk\db\cocio.mdb;DefaultDir=d:\www2\www.
> > fclund.dk\db\ ;Driver={Microsoft Access Driver (*.mdb)};"
>
>
> Har du prøvet det?
> Hvad er resultatet?
> Og hvordan er du noget frem til det forslag?

Jeg har prøvet det og får følgende meddelelse:

Server object error 'ASP 0177 : 800401f3'
Server.CreateObject Failed

/uploadpic.asp, line 3

Invalid ProgID.


Jeg forstår ikke helt hvad præcis det er man skal gøre. Jeg prøvede bare at
indtaste mit domænenavn + stien til databasen, men den giver så den
ovenstående fejlmeddelelse. Linien den flipper over åbenbart:

Set Upload = Server.CreateObject("Persits.Upload.1")

Jeg undrer mig også lidt over at der i stien er en "d:\www2". Aner ikke
hvorfor det står der, men det skal der åbenbart stå foran domænenavnet. Hvad
mon jeg kan gøre?




Jens Gyldenkærne Cla~ (12-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 12-11-02 13:07

Flemming C. Lund skrev:

> Server object error 'ASP 0177 : 800401f3'
> Server.CreateObject Failed
>
> /uploadpic.asp, line 3
>
> Invalid ProgID.

Du forsøger at få serveren til at lave et objekt af klassen
Persits.Upload.1. Den klasse (komponent) er ikke installeret på
serveren - derfor får du fejlen.


> Jeg forstår ikke helt hvad præcis det er man skal gøre. Jeg
> prøvede bare at indtaste mit domænenavn + stien til databasen,

Når du overtager et script fra en anden server skal du dels
kontrollere at eventuelle komponenter (alt hvad der kaldes med
Server.CreateObject) er til stede på "din" server, og dels rette
stiangivelser så det passer til placeringerne af dine filer.

> men den giver så den ovenstående fejlmeddelelse. Linien den
> flipper over åbenbart:
>
> Set Upload = Server.CreateObject("Persits.Upload.1")

Og den linje har intet med din databasesti at gøre. Det kan sagtens
tænkes at der også er fejl i databasestien - asp opdager den bare
ikke, fordi al kodeeksekvering ophører ved fejlen ovenover.


> Jeg undrer mig også lidt over at der i stien er en "d:\www2".
> Aner ikke hvorfor det står der, men det skal der åbenbart stå
> foran domænenavnet. Hvad mon jeg kan gøre?

d:\www2 er en sti. D:\www2\mit.domæne.dk er også en sti. Under
d:\www2\mit.domæne.dk _kan_ der ligge filer som hører til
webadressen http://mit.domæne.dk - men det er ikke til at sige når
man blot kender domænenavnet. Et webhotel bestemmer suverænt hvor
filerne skal placeres på deres webserver - så derfor kan
x:\webfiler\domæne.dk og y:\domæne være lige så gode bud på en
fysisk filplacering som d:\www2\mit.domæne.dk.

Pointe - hvis du ikke kender den præcise sti på serveren (den kan
evt. oplyses af webhotellet) så brug Server.MapPath (se det link
jeg gav i sidste indlæg). Faktisk kan det være en god idé at
benytte Server.MapPath _selv om_ man kender den fysiske adresse.
Hvis nu serveradministratoren finder på at flytte d:\www2 til
e:\webroot så vil referencer med Server.Mappath stadig virke, mens
referencer til den direkte sti vil fejle.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Flemming C. Lund (12-11-2002)
Kommentar
Fra : Flemming C. Lund


Dato : 12-11-02 16:34

O.k. tak for dine svar. Jeg har prøvet at skifte til et script som bruger
ASPsmartUpload. Håber det går lidt bedre med den.



Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408836
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste