webForumDet fria alternativet

AspUpload - HJÄLP!!!

4 svar · 169 visningar · startad av mikael_a

mikael_aMedlem sedan mars 2000475 inlägg
#1

hej,

är det någon som har hållt på med komponenten ASPUpload? jag får följande fel när jag försöker att spara lite info ifrån ett formulär + en bilds sök väg.

"Ett fel uppstod på filen: 006~ASP 0207~Det går inte att använda Request.Form~Det går inte att använda samlingen Request.Form efter att BinaryRead har anropats."

filen som skapar detta fel är:

****

<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Count = Upload.Save("d:\Inetpub\wwwroot\")

On Error Resume Next
For Each File in Upload.Files

File.ToDatabase "DSN=film_nyheter;UID=sa;PWD=;", "insert into film_nyheter(o_titel, s_titel, regissor, skadespelare, kategori, speltid, prod_ar, distributor, url, Image1, filename) values('" & (Request.Form("o_titel")) & "', '" & (Request.Form("s_titel")) & "', '" & (Request.Form("regissor")) & "', '" & (Request.Form("skadespelare")) & "', '" & (Request.Form("kategori")) & "', '" & (Request.Form("speltid")) & "', '" & (Request.Form("prod_ar")) & "', '" & (Request.Form("distributor")) & "', '" & (Request.Form("url")) & "', '" & (Request.Form("Image1")) & "', '" & File.Path & "', ?)"

if Err <> 0 Then
Response.Write "Ett fel uppstod på filen: " & Err.Description
Else

File.Delete
Response.Write "Databasen uppdaterades!"
End If
Next
%>

<% = Count %> fil är sparad i databasen

***

jag förstår att det är något med mina request.forms, men hur skall jag annars kunna uppdatera datan i dessa celler? någon ide?

om jag kör filen :

*******

<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Count = Upload.Save("d:\Inetpub\wwwroot\")

On Error Resume Next
For Each File in Upload.Files
File.ToDatabase "DSN=film_nyheter;UID=sa;PWD=;", "insert into film_nyheter(filename, Image1) values('" & File.Path & "', ?)"
	if Err \<\> 0 Then
		Response.Write "Ett fel uppstod på filen: " & Err.Description
	Else
		File.Delete
		Response.Write "Databasen uppdaterades!"
	End If
Next

%>

<% = Count %> fil är sparad i databasen

****

så fungerar det... fast ett lustigt fel är att sökvägen stämmer i databasen till bilden, men den visas ej i min upload katalog, i detta fallet rooten...

sedan när jag försöker att visa bilden genom filen :

***********************

<%

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (\*.mdb)};dbq=d:\\Inetpub\\wwwroot\\databas\\film_nyheter.mdb"
SQLStmt = "SELECT \* FROM film_nyheter"
Set RS = Connection.Execute(SQLStmt)

Response.ContentType = "image/jpeg"
Response.AddHeader "Content-Disposition", "filename=yourfile.ext"
Response.AddHeader "Content-Length", "545645"
Response.BinaryWrite rs("Image1")

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<TITLE>www.video-center.nu</TITLE>
<LINK
href="../video.css" rel=STYLESHEET type=text/css>
<base target="innehall">

<script language="JavaScript">
<!--

function micke(){
window.status='[ www.video-center.nu ]';
return true;
}
// -->
</script>
</head>

<body onload="micke()" background="../../images/start-sida/bakgrund.gif">
<p><font face="Verdana" size="1" color="#000000"><img border="0" src="../../images/filmnyheter/filmnyheter.gif"><br>
</font></p>
<div align="center">
<center>
<%
Do Until RS.EOF
%>

<table border="0" cellpadding="0" cellspacing="0" width="67%">
<tr>
<td width="30%" rowspan="11" valign="top" align="center" bgcolor="#003366"><font face="Verdana" size="1" color="#000000"><img border="0" <IMG SRC="<%= RS("filename")%>"></font></td>
<td width="23%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#32CD32">Orginal
titel: </font></td>
<td width="47%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#FFFFFF"><test></font></td>
</tr>
<tr>
<td width="23%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#32CD32">Svensk
titel: </font></td>
<td width="47%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#FFFFFF"><test></font></td>
</tr>
<tr>
<td width="23%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#32CD32">Regissör:
</font></td>
<td width="47%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#FFFFFF"><test></font></td>
</tr>
<tr>
<td width="23%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#32CD32">Skådespelare:
</font></td>
<td width="47%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#FFFFFF"><test></font></td>
</tr>
<tr>
<td width="23%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#32CD32">Kategori:
</font></td>
<td width="47%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#FFFFFF"><test></font></td>
</tr>
<tr>
<td width="23%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#32CD32">Speltid:
</font></td>
<td width="47%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#FFFFFF"><test></font></td>
</tr>
<tr>
<td width="23%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#32CD32">Prod
år: </font></td>
<td width="47%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#FFFFFF"><test></font></td>
</tr>
<tr>
<td width="23%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#32CD32">Distributör:
</font></td>
<td width="47%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#FFFFFF"><test></font></td>
</tr>
<tr>
<td width="23%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#32CD32">Filmens
hemsida: </font></td>
<td width="47%" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#FFFFFF"><test></font></td>
</tr>
<tr>
<td width="70%" valign="top" align="left" colspan="2" bgcolor="#003366"> </td>
</tr>
<tr>
<td width="70%" valign="top" align="left" colspan="2" bgcolor="#003366"> </td>
</tr>
<tr>
<td width="100%" colspan="3" valign="top" align="left" bgcolor="#003366"><font face="Verdana" size="1" color="#32CD32">Handling:</font>
<p><font face="Verdana" size="1" color="#FFFFFF"><test></font></td>
</tr>

\<%

RS.MoveNext
Loop
RS.Close
Connection.Close
%>

</table>
</center>
</div>

<p><font face="Verdana" size="1" color="#FFFFFF"><a class="micke_links" href="../../main2.asp" onMouseOver="window.status='Tillbaka till huvudsidan'; return true" onMouseOut="micke()" target="_self"><--
Tillbaka till huvudsidan</a></font></p>

</body>
</html>

**************

så visar den endast den första bilden jag har laddat upp, ingen mer...

någon som kanske har ett fungerande formulär för detta jag försöker att göra???

------------------
Micke & Annas Sajt
micke@micke-anna.nu

emissionMedlem sedan dec. 19996 721 inlägg
#2

"jag förstår att det är något med mina request.forms, men hur skall jag annars kunna uppdatera datan i dessa celler? någon ide?"

Genom att lägga in datan i variabler, i stället för at hämta dem direkt från request.form-collectionobjektet.

"så fungerar det... fast ett lustigt fel är att sökvägen stämmer i databasen till bilden, men den visas ej i min upload katalog, i detta fallet rooten..."

Du raderar ju filen med file.delete, så det är inte så konstigt.

"så visar den endast den första bilden jag har laddat upp, ingen mer..."

Därför att du sätter content-type till image/jpeg och sedan pushar ut endast en bild. Du kan inte blanda content-type i samma dokument. Antingen är det en bild eller så är det html (MIME klarar blandade content-type:r).

Du pushar ju ut Response.BinaryWrite rs("Image1"), och sedan börjar du din loop, och det går ju inte. Det är helt onödigt att överhuvudtaget pusha ut någon bild, om du ändå ska ha kvar själva filerna, och då är det dessutom rent slöseri att lägga in bilderna i databasen också.

Antingen tar du bort bilderna (men jag tycker att du ska ha dem kvar) och skapar en asp-sida som bara pushar ut en bild, eller så skippar du bildlagringen i databasen (inte lagringen av patherna) och loopar precis som förut.

------------------
----------------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
Norrköping
ASP/VB/Perl/PHP/Tango

[Redigerat av emission den 18 apr 2000]

mikael_aMedlem sedan mars 2000475 inlägg
#3

till emission:

Du raderar ju filen med file.delete, så det är inte så konstigt.

jo, men det är väll om ett fel uppstår? eller har jag gjort det helt galet...

if Err <> 0 Then
Response.Write "Ett fel uppstod på filen: " & Err.Description
Else
File.Delete
Response.Write "Databasen uppdaterades!"

ok, tack för ditt svar, jag är inte någon höjdare inom asp, men jag skall försöka att göra det du säger :)

------------------
Micke & Annas Sajt
micke@micke-anna.nu

emissionMedlem sedan dec. 19996 721 inlägg
#4

Nä, i ditt exempel tas filen bort om det inte blir fel, vilket du säkert inser om du tar en närmare titt.

Lycka till!

mikael_aMedlem sedan mars 2000475 inlägg
#5

uuupps....

jo jag ser det nu ;) man blir blind ibland...

------------------
Micke & Annas Sajt
micke@micke-anna.nu

132 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)