AspSmartUpload BinaryRead

ASP

27 svar · 434 visningar · startad av M@rtin

Medlem sedan dec. 19992 085 inlägg
Trådstart#1

Det här är antagligen det vnaligaste och enklaste felet som finns i aspsmartupload men jag har aldrig använt det förut så jag vet inte vad som är fel.

Får detta felmmeddelande:

Det går inte att anropa BinaryRead efter att samlingen Request.Form har använts.

Och på raden det är fel på står det:
mySmartUpload.Upload

Koden som har med komponenten att göra ser ut så här:

         Dim mySmartUpload
         Dim intCount
         set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
         mySmartUpload.Upload
         intCount = mySmartUpload.Save("../upload")
Medlem sedan dec. 200012 464 inlägg
#2

Innan anropet till mySmartUpload.Upload
så har du använt

v = request.form("fieldName")

eller liknande och det får man inte. För att komma åt värden i form-samlingen måste du använda mysmartupload-objektet.

Medlem sedan dec. 19992 085 inlägg
#3

Aha!
Hur ser det ut då?
typ mySmartupload. vad skriver jag efter punkten om jag vill hämta värdet i en textruta med namnet "hej" typ?

Medlem sedan sep. 20004 079 inlägg
#4

mySmartUpload.Form("fieldname")

Medlem sedan dec. 200012 464 inlägg
#5
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

' Ladda upp
mySmartUpload.Upload

namn = mySmartUpload.Form("hej")
Medlem sedan dec. 19992 085 inlägg
#6

Men hmm... får "Objektet krävs" :(
Jag måste använda mySmartUpload.Form("hej") innan mySmartUpload.Upload men det spelar väl ingen roll?

Medlem sedan sep. 20004 079 inlägg
#7

Du måste nog definiera mysmartupload innan det...

Lägg:
' Variables
' *********
Dim mySmartUpload
Dim intCount

' Object creation
' ***************
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

mySmartUpload.Upload

Högst uppe

Medlem sedan dec. 19992 085 inlägg
#8

Heh.. pinsamt fel.. hade inga <% %> runt :e

Men jag får ändå att mySmartUpload.Form("hej") alltid är tomt.

Eller jag har det såhär:
if mySmartUpload.Form("category")<>"" then
Men det blir aldrig sant. Och det är inget annat fel vet jag för det funkade innan jag bytte ut Request.

Medlem sedan dec. 200012 464 inlägg
#9

Jag måste använda mySmartUpload.Form("hej") innan mySmartUpload.Upload men det spelar väl ingen roll?

Jo.

mySmartUpload.Form

är tom innan du gör .upload

Medlem sedan dec. 19992 085 inlägg
#10

Gör jag det innan får jag "subscript out of range"

Här är ett komplett exempel på det jag vill göra:

<html>
   <head>
   </head>
   <body>
   <%

   Dim mySmartUpload
   Dim intCount
   set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
   mySmartUpload.Upload
   
   if mySmartUpload.Form("hej") <> "" then %>
      response.write mySmartUpload.Form("hej")
   else
   %>
      <form name="hej" action="smartuploadform" method="post">
         <input type="text" name="hej">
         <input type="submit" value="skicka">
      </form>
   <%
   end if
   %>
   </body>
</html>
Medlem sedan dec. 200012 464 inlägg
#11
if mySmartUpload.Form("hej") <> "" then %>
response.write mySmartUpload.Form("hej")

Varför är det blåa med?

red: Så fett blev det inte.

Medlem sedan dec. 19992 085 inlägg
#12

Aj det var ju en miss. Men det blir samma fel ändå :l

Medlem sedan dec. 19992 085 inlägg
#13

Ingen som kan komma på vad som e fel?
Eftersom det är så enkel kod så antar jag att det inte är något fel på koden utan snarare på aspSmartUpload filerna men alla exempel fungerar utmärkt.

Medlem sedan dec. 19996 721 inlägg
#14

Du måste visa koden som blir fel. Omöjligt annars.

Medlem sedan dec. 19992 085 inlägg
#15

Det har jag ju gjort ;)

<html>
<head>
</head>
<body>
<%
Dim mySmartUpload
Dim intCount
set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.Upload

if mySmartUpload.Form("hej") <> "" then %>
response.write mySmartUpload.Form("hej")
else
%>
<form name="hej" action="smartuploadform" method="post">
<input type="file" name="hej">
<input type="submit" value="skicka">
</form>
<%
end if
%>
</body>
</html>

Ger "Subscript out of range"

Medlem sedan dec. 200012 464 inlägg
#16

Vad vill du testa egentligen? Om fältet hej innehåller något värde eller om det överhuvudtaget finns med i formen?

Skall det vara type=file eller type=text? Du har bytt mellan dina inlägg.

När du hade type=text så har du inte satt value så att if-satsen inte blir sann är väl inte så konstigt eller?

Medlem sedan dec. 19992 085 inlägg
#17

Det är file jag ska ha. Skrev fel i första exemplet men det gjorde ingen skillnad.

Vad jag vill göra är att ha två sidor i en. Först kommer man till en sida där man får välja fil. Sedan när man trycker på submit så kommer man till nästa sida (samma fil). Där ska filen laddas upp till en katalog.

Medlem sedan dec. 19992 085 inlägg
#18

Jag provade även att dela upp det i två olika filer och det fungerade inte. Men sen provade jag att döpa om den första filen till .html istället för .asp och då funkade det helt plötslit. Eller det laddades inte upp någonting för då måste man väll ha nån speciell kod för det oxå men det blev iaf inget fel.

Problemet är att jag behöver använda asp till andra saker på den första sida :(

Medlem sedan dec. 19992 085 inlägg
#19

Men snälla. Det här måste ju vara det enklaste möjliga scriptet som går att göra med aspSmartUpload.

Vet verkligen ingen vad felet är?

Skulle inte fråga om det inte var väldigt viktigt :(

Medlem sedan dec. 200012 464 inlägg
#20

Du får väl fel för att fältet hej inte finns alls.

found = false
for i = 1 to myupload.form.count
if ucase(myupload.form(i-1).name) = "HEJ" then
found = true
exit for
end if
next
if not found then
'fältet finns inte 
else
  if myupload.form("HEJ") <> "" then
'fältet innehåller något
else
'fältet är tomt
end if
end if
256 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
115 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)