webForumDet fria alternativet

Uploadscript utan komponent

307 svar · 16 552 visningar · startad av OveRRidE · sida 6 av 16

crisse6Medlem sedan dec. 20002 526 inlägg
#101

vilken trad ska vi svara i kb00obfr? samma svar har, For Each Loop? Det ska fungera...

johannalokeMedlem sedan apr. 200393 inlägg
#102

Crisse har skrivit i januari att han hade följande fel. Jag får också det felet men förstod inte hur han hade löst det. Jag har jämfört koderna och ser inte vad som kan vara fel.
Är det någon som förstår vad felet innebär och kan förklara så jag vet var jag ska leta efter felet?

Microsoft VBScript runtime error '800a0005' 

Invalid procedure call or argument: 'MidB' 

/forum/upload.asp, line 6

line 6 ar;

boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)

//Johanna

PalleMedlem sedan apr. 20003 174 inlägg
#103

Om jag inte minns helt fel så brukar felet grunda sig i att ett textfält som anropas inte finns..
Kolla över så du stavat rätt. :)

crisse6Medlem sedan dec. 20002 526 inlägg
#104

Japp, tror nog att det kan vara ett problem... :)

CeeronMedlem sedan aug. 2000378 inlägg
#105

Hur kör man en Redirect i outputfile.asp?

Den ger mig bara det där felmeddelandet andra fått MidB rad 6...

johannalokeMedlem sedan apr. 200393 inlägg
#106

Crisse!

Sätter in delar av min kod här. Har inte gjort just några ändringar i koden mer än att jag lagt till det som kollar filformat och storlek. Ska lägga till sen att den sparar filerna på ett visst ställe men först hade jag tänkt att det skulle fungera med min övriga kod.

Jag tror också det kan ha något att göra med att jag inte får in de strängar jag behöver.
Jag har ett formulär med diverse saker som ska matas in. Formuläret har en form-tag som redirectar till samma sida igen men den går in i en annan if som sköter inläsningen av formuläret. I samma if gör jag också en redirect till outputfile.asp. Efter att inläsningarna gjort. Det känns som att det kan vara det som är problemet. Får den verkligen de värden den behöver då?

I mitt formulär har jag bara bläddra knappen och ingen ladda upp knapp. Den vill jag slippa.

Kan jag lösa det på något annat sätt tror ni?! Kan jag skicka med några inlästa värden till outputfile.asp?

Så här ser koden för formuläret ut:
<input type="file" name="blob">

Så här läser jag in i formuläret. Hela sökvägen till bilden som ska laddas upp:
bild = Request.Form("blob")

outputfile.asp

Response.Expires=0
Response.Buffer = TRUE
Response.Clear
byteCount = Request.TotalBytes

RequestBin = Request.BinaryRead(byteCount)
dim UploadRequest
set UploadRequest = CreateObject("Scripting.Dictionary")

Response.Write(requestbin)

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
set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Kollar om det är jpg eller gif fil om det stämmer, gå vidare
if contentType="image/pjpeg" or contentType="image/gif" then

         'Kollar nu med strMaxSize om den är större än 50kb, om inte, gå vidare
		if byteCount > 50000 then
			response.write "Bilden är för stor, "& byteCount &" bytes. Den får max vara 50000 bytes (50kb)."
		else

			'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))
			'Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/bilder/uppladdat/" & filename)) 'bestämmer var bilden ska hamna
			'Set MyFile = ScriptObject.CreateTextFile("c:\mina dokument\"&filename)'bestämmer var bilden ska hamna

			for i = 1 to lenB(value)
			MyFile.Write chr(AscB(MidB(value,i,1)))
			next

			MyFile.Close

			'dessa rader görs när filen laddats upp
			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 & """>"

		end if
'Från If-satsen ovan så kommer här om det INTE är jpg eller gif fil
else
response.write "Bilden måste vara av formatet .gif eller jpg."
end if

I upload.asp har jag inte gjort några ändringar alls.

//Johanna

johannalokeMedlem sedan apr. 200393 inlägg
#107

Bidde visst lite fel i min kod när jag skulle ta bort kommentarerna.

Tog bort raden:
BuildUploadRequest RequestBin 'måste ju finnas med

Ta istället bort:
Response.Write(requestbin)

Alltså o koden jag satt in på forumet. I min fil här så har jag det som jag nu beskrev.
//Johanna

johannalokeMedlem sedan apr. 200393 inlägg
#108

Nu har jag lagt in all min inläsning av formuläret i outputfile.asp.
Hittar inga stavfel. Men nu börjar tålamodet tryta *ler* så då är man väl blind.
Jag får i alla fall samma fel igen.

En fråga till:
Vad gör de här raderna:

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")

contentype och filename som den tar reda på. Måste jag ha de attributen i min tag för blob?
//Johanna

johannalokeMedlem sedan apr. 200393 inlägg
#109

Nu har jag äntligen fått det att funka!

Det var en rad i formtagen som jag missat...
enctype="multipart/form-data"

Den verkar ha något med contentType och filename som jag frågade om ovan.

Tack i alla fall!
//Johanna

CeeronMedlem sedan aug. 2000378 inlägg
#110

hur gör jag om jag har två bilder jag vill ladda upp?
har nämnligen en thumbnail och en vanlig...
+går det att kolla height / width me asp lr nå annat sätt så man kan föra in i db?

solbulleMedlem sedan mars 20015 287 inlägg
#111

Kan du inte helt enkelt låta thumbnailen ha ett annat namn, typ om den riktiga bilden heter:
bild.jpg så heter thumbnailen tn_bild.jpg?

Om det är så att du "alltid" har en thumbnail till en bild så behöver du ju inte lägga in det namnet i db i så fall.

CeeronMedlem sedan aug. 2000378 inlägg
#112

Jovisst kan jag ha det men behöver fortfarande veta om man kan ta reda på width / height och hur man gör me detta script för att ladda upp två filer dvs. blob & blob2 från samma formulär

solbulleMedlem sedan mars 20015 287 inlägg
#113

Ah, jag uppfattade det som om det var på så sätt du skulle skilja dem åt. :r

Nu är jag jobbig igen, men varför ska du ha reda på höjd o bredd?
Det här kanske kan vara något: http://www.webforum.nu/showthread.php?s=&threadid=39459&highlight=bild+storlek

eller:

Här kanske du hittar en del: http://www.webforum.nu/search.php?s=&action=showresults&searchid=272514&sortby=lastpost&sortorder=descending

Lättast är ju att använda javascript när du sen använder bilden, tex om du ska ha en popup eller liknande.

CeeronMedlem sedan aug. 2000378 inlägg
#114

Men du vet inte hur man laddar upp två filer i samma formulär?

CeeronMedlem sedan aug. 2000378 inlägg
#115

Nån som vet hur man sparar två stycken filer från samma formulär? Dvs. typ blob1 o blob2... Måste ladda upp två st! Snälla?

CeeronMedlem sedan aug. 2000378 inlägg
#116

Snälla? Panik nu, måste lägga upp en sida ida o behöver kunna ladda upp dubbla filer... Sorry for span

crisse6Medlem sedan dec. 20002 526 inlägg
#117

du kan väl köra en for each loop??? för varje förmulär så gör du uppladdningen :)

CeeronMedlem sedan aug. 2000378 inlägg
#118

Jag e helt kör på sånt där... o hajjar typ inget av uploadscriptet alls så...
Snälla visa =b

crisse6Medlem sedan dec. 20002 526 inlägg
#119

men om du kör typ

For Each forumlärnamn
'uploaden
Next

jag kan inte så bra heller på det där med for each... men någon kan säkert :D

CeeronMedlem sedan aug. 2000378 inlägg
#120

Verkar typ som om jag laddar upp filer som e större än 30kb lr nåt sånt så slutar den ladda upp... Så i galleriet visas halva bilder... Har typ inte ändrat nåt alls.

<%
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

mapp =  UploadRequest.Item("mapp").Item("Value")
width =  UploadRequest.Item("width").Item("Value")
height =  UploadRequest.Item("height").Item("Value")
datum = UploadRequest.Item("datum").Item("Value")
beskrivning = UploadRequest.Item("beskrivning").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
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(Session("ID") & "/" & filename))

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

	Set objConnect = Server.CreateObject("ADODB.Connection")
	objConnect.Open "DSN=alkisarna"

	sql = "insert into bilder (anvID, mappID, fil, width, height, datum, beskrivning) values (" & Session("ID") & ", " & mapp & ", '" & filename & "', " & width & ", " & height & ", #" & datum & "#, '" & beskrivning & "')"
	objConnect.Execute(sql),,128

	objConnect.Close : Set objConnect = Nothing

MyFile.Close

response.write "<b>Filens sökväg:</b> " & Server.mappath(Session("ID") & "/" & filename) & "<br>"
response.write "<b>Filnamn:</b> " & filename & "<br><br>"
response.write "<img name=""bild"" src=""" & Session("ID") & "/" & filename & """>"
%>
<!--#include file="upload.asp"-->

Nåt fel lr? Riktigt irriterande med halva bilder om vi säger som så...

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