webForumDet fria alternativet

Uploadscript utan komponent

307 svar · 16 553 visningar · startad av OveRRidE · sida 2 av 16

solbulleMedlem sedan mars 20015 287 inlägg
#21

Du har outputfile.asp som innehåller kodraderna:

'Create FileSytemObject Component
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
' Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(filename))

For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close

Skulle tro att det är den biten som skall omgärdas av din If-sats (som typ den högre upp på sidan.)

crisse6Medlem sedan dec. 20002 526 inlägg
#22

vems fråga svarar du på?

solbulleMedlem sedan mars 20015 287 inlägg
#23

Din...

refererar till denna del: http://www.webforum.nu/showthread.php?s=&postid=377242#post377242

crisse6Medlem sedan dec. 20002 526 inlägg
#24

fick ordning på strl så den måste hålla 50 kb, men jag får inte ordning på hur jag ska skriva för att kolla om filen som laddas ipp är en zip fil????

crisse6Medlem sedan dec. 20002 526 inlägg
#25

försöker föra in sökvägen till filen i en databas, men icke:

<%
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))
byteCount = Request.TotalBytes
'Response.BinaryWrite(Request.BinaryRead(varByteCount))

RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

'Exempel på hur man kan 'plocka ner' andra forumlärelement
'email = UploadRequest.Item("email").Item("Value")

contentType = UploadRequest.Item("blob").Item("ContentType")
filepathname = UploadRequest.Item("blob").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("blob").Item("Value")

'Create FileSytemObject Component
  If byteCount<=50000 THEN

Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
' Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(filename))

For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close

response.write "<b>Filens sökväg:</b> " & Server.mappath(filename) & "<br>"
response.write "<b>Filnamn:</b> " & filename & "<br><br>"
response.write "<img src=""" & filename & """>"

Datum = Now
SQL = "INSERT INTO script_upload ([namn], [datum], [av], [typ], [filnamn]) VALUES('" & Request.Form("namn") & "',#"& Datum &"#,'crisse6','" & Request.form("typ") & "'," & filename & ")"
Databas.Execute(SQL)

else
response.write "Du har antingen en fil som inte har filändelse .jpg eller så är den större än 50 kb."
end if
%>

får felmess:

Request object error 'ASP 0207 : 80004005' 

Cannot use Request.Form 

/upload/outputfile.asp, line 54 

Cannot use Request.Form collection after calling BinaryRead

fattar nada just nu!

solbulleMedlem sedan mars 20015 287 inlägg
#26

'Exempel på hur man kan 'plocka ner' andra forumlärelement
'email = UploadRequest.Item("email").Item("Value")

mao kan du INTE som ditt felmess säger använda Request.Form collection...

Filtypen:

If contentType="image/pjpeg" THEN

testa att skriv zip istället, fungerar inte det, kör en response.write contenType när du laddar upp en zipfil så får du direkt reda på vad du ska skriva in.

:)

crisse6Medlem sedan dec. 20002 526 inlägg
#27

vad ska jag göra då då med mina forms???

solbulleMedlem sedan mars 20015 287 inlägg
#28

Du gör som i exemplet jag citerade från din fil!

namn= UploadRequest.Item("namn").Item("Value")

Placeras i koden där Exemplet är placerat!
Gör likadant med andra fält du egentligen skulle använt request.form på.

Sen din sqlsats:

SQL = "INSERT INTO script_upload ([namn], [datum], [av], [typ], [filnamn]) VALUES('" & namn & "',#"& Datum &"#,'crisse6','" & Request.form("typ") & "'," & filename & ")"
crisse6Medlem sedan dec. 20002 526 inlägg
#29
Microsoft VBScript runtime error '800a01a8' 

Object required: '[undefined]' 

/upload/outputfile.asp, line 52

möts jag med efter denna kod...

namn= UploadRequest.Item("namn").Item("Value") 
typ= UploadRequest.Item("typ").Item("Value") 

Datum = Now
SQL = "INSERT INTO script_upload ([namn], [datum], [av], [typ], [filnamn]) VALUES('" & namn & "',#"& Datum &"#,'crisse6','" & typ & "'," & filename & ")"
Databas.Execute(SQL)

else
response.write "Du har antingen en fil som inte har filändelse .jpg eller så är den större än 50 kb."
end if
solbulleMedlem sedan mars 20015 287 inlägg
#30

Placeras i koden där Exemplet är placerat!

...

crisse6Medlem sedan dec. 20002 526 inlägg
#31

gött hejdå, önskar att man kunde få hjälp, istället för att inte få det

OveRRidEMedlem sedan feb. 200112 078 inlägg
#32

Nu skall vi inte sura ner oss här. :)

Hur ser din SQL-sats ut?

response.write SQL
solbulleMedlem sedan mars 20015 287 inlägg
#33

Det jag menar är att du måste placera:

namn= UploadRequest.Item("namn").Item("Value") 
typ= UploadRequest.Item("typ").Item("Value")

typ på den plats som de liknande raderna är placerade på i exemplet, INNAN du kör:

MyFile.Close

som jag tycker det förefaller som om du gjort.

Placeras i koden där Exemplet är placerat!

Var väl en ganska bra hjälp tycker jag no.

För övrigt får jag väl be om ursäkt för att man försöker hjälpa till :(

crisse6Medlem sedan dec. 20002 526 inlägg
#34

solbulle, jag menar inte att din hjälp är inte är till ngn nytta, utan tycker bara att du borde förklara lite bättre ;)

Jag får inte ordning på det hela, om någon vill så får dom gärna lägga in kod snuttarna där dom ska vara i min kod, min kod finns i tidigare inlägg.

tack.

solbulleMedlem sedan mars 20015 287 inlägg
#35
<%
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))
byteCount = Request.TotalBytes
'Response.BinaryWrite(Request.BinaryRead(varByteCount))

RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

'Exempel på hur man kan 'plocka ner' andra forumlärelement
'email = UploadRequest.Item("email").Item("Value")
[b]
namn= UploadRequest.Item("namn").Item("Value") 
typ= UploadRequest.Item("typ").Item("Value")[/b] 
contentType = UploadRequest.Item("blob").Item("ContentType")
filepathname = UploadRequest.Item("blob").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("blob").Item("Value")

'Create FileSytemObject Component
  If byteCount<=50000 THEN

Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
' Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(filename))

For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close

response.write "<b>Filens sökväg:</b> " & Server.mappath(filename) & "<br>"
response.write "<b>Filnamn:</b> " & filename & "<br><br>"
response.write "<img src=""" & filename & """>"

Datum = Now
SQL = "INSERT INTO script_upload ([namn], [datum], [av], [typ], [filnamn]) VALUES('" & namn & "',#"& Datum &"#,'crisse6','" & typ & "'," & filename & ")"
Databas.Execute(SQL)

else
response.write "Du har antingen en fil som inte har filändelse .jpg eller så är den större än 50 kb."
end if
%>

Notera dock att denna kod saknar väl iofs den del med filkollen som du lagt till, men där det är fet text tror jag du ska placera dina requests.

klementinMedlem sedan aug. 2001117 inlägg
#36

Måste bara få säga att detta skript rockar FETT! Grymt bra jobbat :-). Nu slipper jag köra ASPUpload som Telia har på sin webb tjänst. Tack!

sin_adecMedlem sedan apr. 2002272 inlägg
#37

Flera upload

men vad ska man ändra om man vill göra flera upload samtidigt...

crisse6Medlem sedan dec. 20002 526 inlägg
#38
Microsoft VBScript runtime error '800a01a8' 

Object required: '[undefined]' 

/upload/outputfile.asp, line 28

rad 28,

namn= UploadRequest.Item("namn").Item("Value")
solbulleMedlem sedan mars 20015 287 inlägg
#39

Du måste ha ett fält i ditt formulär med namnet: namn

crisse6Medlem sedan dec. 20002 526 inlägg
#40

hmm.... har fått den att lagra info i db.n, men nu när jag ska checka om fälten har värde så verkar det bli fel?! eller så är det något annat som strular... kolla koden:

<%
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))
byteCount = Request.TotalBytes
'Response.BinaryWrite(Request.BinaryRead(varByteCount))

RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

'Exempel på hur man kan 'plocka ner' andra forumlärelement
'email = UploadRequest.Item("email").Item("Value")

namn= UploadRequest.Item("namn").Item("Value") 
typ= UploadRequest.Item("typ").Item("Value") 
contentType = UploadRequest.Item("blob").Item("ContentType")
filepathname = UploadRequest.Item("blob").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("blob").Item("Value")

If "& namn &" = "" OR "& typ &" = "" then
response.write "Du måste välja en fil, skriva ett namn och välja typ av programmeringsspråk!"
end if

'Create FileSytemObject Component
  If byteCount<=50000 THEN

Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
' Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(filename))

For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close

response.write "<font face=Verdana size=1>Din fil är upladdad utan problem!<br><br></font>"
response.write "<font face=Verdana size=1><a href=javascript:window.close()>Stäng</a></font>"

Datum = Now
SQL = "INSERT INTO script_upload ([namn], [datum], [av], [typ], [filnamn]) VALUES('" & namn & "',#"& Datum &"#,'" & session("anvandarnamn") & "','" & typ & "','" & filename & "')"
Databas.Execute(SQL)

else
response.write "Du har antingen en fil som inte har filändelse .jpg eller så är den större än 50 kb."
end if
%>

fel:

Server.MapPath() error 'ASP 0171 : 80004005' 

Missing Path 

/upload/outputfile.asp, line 47 

The Path parameter must be specified for the MapPath method

47:

Set MyFile = ScriptObject.CreateTextFile(Server.mappath(filename))
143 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)