webForumDet fria alternativet

problem med bilduppladdning

ASP

18 svar · 858 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

Min form som jag skickar bilden från är

<form method="post" name="frmUpload"  action="/pictureupload/preupload.asp" enctype="multipart/form-data">

Skickar vidare till en sida för att kolla så att värdet kommer med

<%varUpload = request.form("frmUpload")
varUsername = Session("username")
varUID = Session("userID")
if varUpload <> "" then
response.write frmUpload
else
response.write "Din bild "& frmUpload &" kunde inte laddas upp<br>"
response.write "Inloggad som "& varUsername &" (userID "& userID &")<br>"
response.write "<a href=""/settings/change/photo.asp"">Tillbaka</a>"
end if

När jag kommer hit får jag inte med nåt värde alls, kommer inte vidare till nästa sida som ska ladda upp och förminska

<!-- #include virtual="/include/dbconn.asp" -->
<!-- #include virtual="/include/variabler.asp" -->

<%'Ladda upp den valda bilden
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.Save(Server.MapPath("/images/users/"))

'Sätt lite variabler
userID = Session("userID")
username = Session("username")
strPath = Upload.Form("frmUpload")
filnamn = Right(strPath, Len(strLink) - InStrRev(strPath, "\"))

'Skala ner den uppladdade bilden
	Set Jpeg = Server.CreateObject("Persits.Jpeg")
		response.write "Filnamnet är "& filnamn &" , "&strPath
		response.end
'Jpeg.Open Server.Mappath("/images/users/"& filnamn &"")
			L = 140
		Jpeg.Width = L
		Jpeg.Height = Jpeg.OriginalHeight * L / Jpeg.OriginalWidth
		Jpeg.Save Server.Mappath("../images/users/thumbnails")

'	SET objConn = connect()
'	picture = "update tblUsers set picture='" & FileName & "' , fotovalidering=1 where userID=" & userID
'	objConn.Execute(picture)
'	Set objConn = Nothing

'	sTo = "stefan@stene.nu"
'	sFrom = "image@stene.nu"
'	sSubject = "Fotovalidering från " & username & " [medlemsID " & userID & "]"
'	sTextBody = "Det har anlänt ett nytt foto som ska valideras på "& title

'	Set JMail = Server.CreateObject("JMail.SMTPMail")
'	JMail.ServerAddress = "smtp.axentus.net"
'	JMail.Sender = username
'	JMail.Silent = true
'	JMail.Logging = true
'	JMail.AddRecipientBCC "stefan@stene.nu"
'	JMail.Subject = sSubject
'	JMail.Body = sTextBody
'	JMail.Priority = 1
'	If Not JMail.execute Then
'		Response.Write( "ERROR MESSAGE: " & JMail.ErrorMessage & "<BR>" & vbcrlf )
'		Response.Write( "ERROR SOURCE: " & JMail.ErrorSource & "<BR>" & vbcrlf )
'		Response.Write( "LOG: <pre>" & JMail.Log & "</pre>" & vbcrlf )
'	Else
'		JMail.execute
'	End If

	Response.Redirect "/pictureupload/validatePhoto.asp?filename=" & FileName & "&id=" & userID & "&usr=" & username & "&size=" & File.Size & "&file=" & File.FileName%>
Medlem sedan juni 20019 519 inlägg
#2

Du kan inte skicka Request.Form från en sida till en annan utan en <form> postning. Du få flytta kontrollen till samma sida där det är "OK" att lägga upp bilden.

Medlem sedan feb. 20032 027 inlägg
#3

voigtann1 skrev:

Du kan inte skicka Request.Form från en sida till en annan utan en <form> postning. Du få flytta kontrollen till samma sida där det är "OK" att lägga upp bilden.

Innan jag hade "mellansidan" så hade jag fprm på ena sidan och tog emot med upload.form på andra men det ville inte funka ändå

Medlem sedan juni 20003 076 inlägg
#4

WebbisNet skrev:

<%'Ladda upp den valda bilden
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.Save(Server.MapPath("/images/users/"))

'Sätt lite variabler
userID = Session("userID")
username = Session("username")
strPath = Upload.Form("frmUpload")
filnamn = Right(strPath, Len(strLink) - InStrRev(strPath, "\"))

Ser minst två fel med denna kod:
1. Du anger inte något filnamn vid save-metoden och du anropar den innan du sätter sökvägen.
2. Du sätter sökvägen ifrån formtaggen. frmUpload har du satt på form-taggen på sidan innan, du måste hämta ifrån filfältet.

Medlem sedan feb. 20032 027 inlägg
#5

doggelito skrev:

WebbisNet skrev:

<%'Ladda upp den valda bilden
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.Save(Server.MapPath("/images/users/"))

'Sätt lite variabler
userID = Session("userID")
username = Session("username")
strPath = Upload.Form("frmUpload")
filnamn = Right(strPath, Len(strLink) - InStrRev(strPath, "\"))

Ser minst två fel med denna kod:
1. Du anger inte något filnamn vid save-metoden och du anropar den innan du sätter sökvägen.
2. Du sätter sökvägen ifrån formtaggen. frmUpload har du satt på form-taggen på sidan innan, du måste hämta ifrån filfältet.

På nr 1 så vet jag ju inte vilket filnamn den uppladdade bilden kommer att ha så då räcker det bara med var katalogen ska ligga och hur menar du med nr 2?

Medlem sedan juni 20003 076 inlägg
#6

Jag har dålig koll på hur persits upload fungerar och tydligen kallar man på savemetoden utan filnamn precis som du gör. Förvirrande metodnamn tycker jag! :)

Du kan inte hämta filnamnet från strPath = Upload.Form("frmUpload") då frmUpload är formtaggen och inte filefältet.
Här kan du läsa om hur du plockar ut filnamnet:
http://www.aspupload.com/manual_db.html

Medlem sedan feb. 20032 027 inlägg
#7

skrev
<input size="30" type="file" name="fileupload">
och ska kolla så jag får med filnamnet

<%'Ladda upp den valda bilden
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.Save(Server.MapPath("/images/users/"))

'Sätt lite variabler
userID = Session("userID")
username = Session("username")
strPath = Upload.Form("fileupload")
filnamn = Right(strPath, Len(strLink) - InStrRev(strPath, "\"))

'Skala ner den uppladdade bilden
	Set Jpeg = Server.CreateObject("Persits.Jpeg")
		response.write "Filnamnet är "& filnamn &" , "&strPath
		response.end

men får ett tomt resultat

Medlem sedan juni 20003 076 inlägg
#8

AspUpload.com skrev:

' Obtain file object
Set File = Upload.Files("THEFILE")
filnamn = File.Filename

Titta på deras exempel vetja! ;)
http://www.aspupload.com/manual_db.html

Medlem sedan feb. 20032 027 inlägg
#9

set uppladdadBild = Upload.Files("fileupload")
'filnamn = Right(uppladdadBild, Len(strLink) - InStrRev(uppladdadBild, "\"))

'Skala ner den uppladdade bilden
Set Jpeg = Server.CreateObject("Persits.Jpeg")
response.write uppladdadBild
response.end

ger mig
Response object error 'ASP 0185 : 80020003'

Missing Default Property

/pictureupload/upload.asp, line 0

A default property was not found for the object.

Medlem sedan juni 200032 967 inlägg
#10

Du kan inte "skriva ut" ett objekt. Läs igen. Det räcker nog med att läsa dogges korta citat.

Medlem sedan feb. 20032 027 inlägg
#11

Detta gav mig filnamnet men då även hela sökvägen, hur kortar man ner sökvägen till bara den uppladdade filens namn

Set File = Upload.Files("fileupload")

If Not File Is Nothing Then
Response.Write File.Path
End If
response.end

Medlem sedan juni 20019 519 inlägg
#12

Du kör File.Path, du är ute efter File.Filename som doggelito har skrivit.

Medlem sedan feb. 20032 027 inlägg
#13

Allt funkar som det ska nu, förutom skalningen av bilden........

'Skala ner den uppladdade bilden
	Set Jpeg = Server.CreateObject("Persits.Jpeg")
	Set File = Upload.Files("fileupload")

Jpeg.Open Server.Mappath("/images/users/"&File.Filename)
			L = 140
		Jpeg.Width = L
		Jpeg.Height = Jpeg.OriginalHeight * L / Jpeg.OriginalWidth
		Jpeg.Save Server.Mappath("../images/users/thumbnails")
Medlem sedan juni 20019 519 inlägg
#14

skall det vara ../images på save? skall det inte bara vara images/

???

Medlem sedan feb. 20032 027 inlägg
#15

måste ju gå tillbaka i strukturen från den plats koden ligger i

Medlem sedan juni 20019 519 inlägg
#16

På ena platsen har du:

Jpeg.Open Server.Mappath("/images/users/"&File.Filename)

Och på nästa:

Jpeg.Save Server.Mappath("../images/users/thumbnails")

Hur ser din mappstruktur egentligen ut?

Medlem sedan feb. 20032 027 inlägg
#17

jag var enbart blind där,

får access denied nu

'Skala ner den uppladdade bilden
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Set File = Upload.Files("fileupload")

Jpeg.Open Server.Mappath("../images/users/"&File.Filename)
L = 140
Jpeg.Width = L
Jpeg.Height = Jpeg.OriginalHeight * L / Jpeg.OriginalWidth
Jpeg.Save Server.Mappath("../images/users/thumbnail/")

Medlem sedan juni 20019 519 inlägg
#18

Kolla att du har rättigheter att skriva till mappen thumbnail

Medlem sedan feb. 20032 027 inlägg
#19

voigtann1 skrev:

Kolla att du har rättigheter att skriva till mappen thumbnail

när jag skrev in file.filename på den andra raden med efter /thumbnail så funkade det

265 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)