webForumDet fria alternativet

HJÄLP! Upload-fel.

ASP

34 svar · 744 visningar · startad av k0ffe · sida 2 av 2

Frågan, av k0ffe

Jag har, på ett annat webhotell, ett problem med den komponentlösa uploaden... Får ett felmeddelande: Request object error 'ASP 0207 : 80004005' Cannot use Request.Form /nyhet/outputfile.asp, line 183 Cannot use Request.Form collection after calling BinaryRead. Någon som vet vad felet är? Allt annat fungerar, men inte det här!

Läs frågan i sin helhet →
Medlem sedan maj 2003352 inlägg
#21

Yeah, men det ser jag ingen nytta i att använda.

Solbulle! -> Har istället fått tag på ett script för upload som webhotellet rekommenderar:

ASP kod(fil.asp):

<%
Set fbase = Server.CreateObject("chili.upload.1")

If InStr(fbase.SourceFileName, "/") Then
 delimiter = "/"
else
 delimiter = "\"
end if

MyArr = Split(fbase.SourceFileName, delimiter)
strFName = MyArr(UBound(MyArr))

strFNPath = Server.Mappath("/") & "/" & strFName
fbase.SaveToFile strFNPath
Set fbase = nothing
%>

HTML forumlär(fil.htm):

<HTML>
<FORM ACTION="fil.asp" METHOD="POST" ENCTYPE="multipart/form-data">
Fil: <INPUT TYPE="file" NAME="FIL1"><BR>
<INPUT TYPE="submit" name="Ladda upp"><BR>
</FORM>
</HTML>

Men då till problemet...
Jag har sidor där man har 2 fält, ett rubrik-fält, och ett till bilden. Och ett textfält förstås.
Och självklart får jag inte denna kod att fungera kombinerat med de andra fälten.

Nån som har en lösning?

Där jag nu är, får jag detta meddelande:

Technical Information (for support personnel)

Error Type:
ADODB.Connection.1 (0x80004005)
SQLState: S1000 Native Error Code: -3702 [DataDirect][ODBC SequeLink driver][ODBC Socket][Microsoft][ODBC Microsoft Access Driver] Field 'nyheter.rubrik' cannot be a zero-length string. 
/nyhet/outputfile.asp, line 49

Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) 

Page:
POST 18150 bytes to /nyhet/outputfile.asp

POST Data:
. . . 

Time:
29 August 2003, 15:43:25 

More information:
Sun ONE Active Server Pages Support

Den verkar inte ta med de andra fälten, rubrikfältet har värde!

Medlem sedan mars 20015 287 inlägg
#22

Det där verkar ju kalas med en komponent. Du bör få bättre prestanda då.

I dina exempelkoder har du ju inte med några andra fält. Visa den koden.

Medlem sedan maj 2003352 inlägg
#23

Mjo, kanske det.
Här är koden:

<%
rubrik = Replace(Request("rubrik"), "'", "''") 
inlagg = Replace(Request("inlagg"), "'", "''")

Set fbase = Server.CreateObject("chili.upload.1")

If InStr(fbase.SourceFileName, "/") Then
 delimiter = "/"
else
 delimiter = "\"
end if

MyArr = Split(fbase.SourceFileName, delimiter)
strFName = MyArr(UBound(MyArr))

strFNPath = Server.Mappath("/") & "/" & strFName
fbase.SaveToFile strFNPath

Set fbase = nothing
%>

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "DSN=xxx;Password=xxxx"

SQLStmt = "INSERT INTO nyheter (nyh_bild, rubrik, inlagg, forfattare) "
SQLStmt = SQLStmt & "VALUES('" & strFName & "', '" & rubrik & "', '" & inlagg & "', '" & Session("Namn") & "') "

Set RS = Connection.Execute(SQLStmt)

response.Redirect("../admin/red_nyh_s.asp")

RS.close
Set RS = Nothing
Connection.Close
Set Connection = Nothing
%>
Medlem sedan mars 2003772 inlägg
#24

Det står ju vad som är fel

Field 'nyheter.rubrik' cannot be a zero-length string.

Du verkar inte skicka med fältet Rubrik nånstans?
Men du försöker ta emot det och stoppa in det i tabellen?

Medlem sedan maj 2003352 inlägg
#25

Hur menar du?
Koden är bara den till sidan som ska lägga in datan.

Koden till sidan där allt skrivs in är denna:

<form method="post" action="outputfile.asp" enctype="multipart/form-data">
  <p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Rubrik:<br>
    <input name="rubrik" type="text" maxlength="37">
    <br>
    Bild:<br>
    <input type="file" name="blob">
    <br>
    Inl&auml;gg: </font><br>
    <textarea name="inlagg" cols="70" rows="30"></textarea>
    <br>
    <input type="submit" value="Ladda upp!">
  </p>
  </form>
Medlem sedan maj 2003352 inlägg
#26

Den laddar alltså upp bilden, men man kommer till ett felmeddelande, för att de övriga fältet inte följer med.
Förstår ni?

Medlem sedan mars 20015 287 inlägg
#27

Det förefaller ju onekligen som om att även den komponenten har ett eget skrivsät att få ut formulärdata, precis som det andra har. Sök reda på hur just din komponent hanterar andra fält.

Medlem sedan maj 2003352 inlägg
#28

Nej, har kollat upp det. Inget speciellt med den koden.
Men det går bara inte, den skickar inte med några värden från de andra fälten. Ingen som varit med om liknande?

Medlem sedan mars 20015 287 inlägg
Medlem sedan maj 2003352 inlägg
#30

:( Okay, tack ändå.
Får försöka lösa det på något annat sätt?

Medlem sedan maj 2003352 inlägg
#31

Nu är jag tillbaka...

Självklart så stötte jag nu på ännu ett problem, nämligen bildarkivet och dennas kod.

Här vill jag ha upp till 9 bilder att lägga upp samtidigt.
Första sidan måste alltså vara endast bild-fälten, då Request.Form inte var kompatibelt på denna variant.
Nästa sida ligger rubrik-fältet, efter den sidan ska koden för att lagra datan ligga.

Denna kod utgår jag ifrån:
SIDA 1:

<form method="post" action="outputfile.asp" enctype="multipart/form-data">
  <p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> 
    <br>
    </font> Bild 1:<br>
    <input type="file" name="blob">
    <br>
    Bild 2:<br>
    </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
    <input type="file" name="blob2">
    <br>
    Bild 3:<br>
    </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
    <input type="file" name="blob3">
    <br>
    Bild 4:<br>
    </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
    <input type="file" name="blob4">
    </font><br>
    <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Bild 5:<br>
    </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
    <input type="file" name="blob42">
    </font><br>
    <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Bild 6:<br>
    </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
    <input type="file" name="blob43">
    </font><br>
    <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Bild 7:<br>
    </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
    <input type="file" name="blob44">
    </font><br>
    <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Bild 8:<br>
    </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
    <input type="file" name="blob45">
    </font><br>
    <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Bild 9:<br>
    </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
    <input type="file" name="blob46">
    </font><br>
    <br>
    <br>
    <input type="submit" value="Ladda upp, yo!">
  </p>
  </form>

SIDA 2:

  <%
  
  If blob <> "" then
  
Set fbase = Server.CreateObject("chili.upload.1")

If InStr(fbase.SourceFileName, "/") Then
 delimiter = "/"
else
 delimiter = "\"
end if

MyArr = Split(fbase.SourceFileName, delimiter)
strFName = MyArr(UBound(MyArr))

strFNPath = Server.Mappath("/") & "/" & strFName
fbase.SaveToFile strFNPath

Response.write "<img src=""../"&strFName&""">" 

Set fbase = nothing

end if
%>
</p>
<form method="post" action="outputfile.asp">
  <p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
    <input name="nyh_bild" type="hidden" value="<% =strFName %>">
	
    <br>
    Rubrik:<br>
    <input name="rubrik" type="text" maxlength="37">
    <br>
    <br>
    Inl&auml;gg: </font><br>
    <textarea name="inlagg" cols="70" rows="30"></textarea>
    <br>
    <input type="submit" value="Ladda upp!">
  </p>
  </form>

SIDA 3:

<%
rubrik = Replace(Request("rubrik"), "'", "''") 
inlagg = Replace(Request("inlagg"), "'", "''")
nyh_bild = Replace(Request("nyh_bild"), "'", "''")

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "DSN=xxxxPassword=xxxx"

SQLStmt = "INSERT INTO nyheter (rubrik, inlagg, nyh_bild, forfattare) "
SQLStmt = SQLStmt & "VALUES('" & rubrik & "', '" & inlagg & "', '" & nyh_bild & "', '" & Session("Namn") & "') "

Set RS = Connection.Execute(SQLStmt)

response.Redirect("../admin/red_nyh_s.asp")

RS.close
Set RS = Nothing
Connection.Close
Set Connection = Nothing
%>

Nu var ju de sidorna för uppladdning av endast EN bild.
Förutom den första sidan, där jag har fler bildfält än ett.

Frågan är alltså, om någon vet hur resten av sidorna ska/kan se ut?

Medlem sedan maj 2003352 inlägg
#32

Ingen som kan hjälpa till?
Skulle verkligen uppskatta lite hjälp...

Medlem sedan mars 20015 287 inlägg
#33

Har du sökt själv något på nätet angående den komponenten?
Som det stod tex i den länk jag postade en bit upp klarar den komponenten bara av ett fält i taget.
Se till att sök reda på en FAQ angående komponenten så lär du i alla fall få rätt på en del elementära delar.

Medlem sedan mars 2003772 inlägg
#34

The key issue is that the CHili ASP engine on the RaQ will only allow a single file to be uploaded at a time and the VBScript used on the upload page prohibits the use of any other Response or Request handlers.

There you have it!

Medlem sedan maj 2003352 inlägg
#35

Ja, jo, jag vet... Men jag tänkte att det kanske skulle gå med nån loopsats lr liknande. Fast det går ju iof inte, vilket fall som helst... Hmm.
Så då får det bli att man tar en bild/sida att ladda upp?!
Chilisoft är ju skräp :(

285 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
154 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)