Hur skriver man in rätt sökväg, just nu kan den inte hitta en korrekt sökväg
är scriptet rätt i övrigt, vill ladda upp den och förminska den till en viss storlek
Set Upload = Server.CreateObject("Persits.Upload")
Image = Upload.Save("../images/users/")
For Each File in Upload.Files
If File.ImageType = "UNKNOWN" Then
Response.Write "This is not an image."
Response.End
End If
Response.Write File.Path & "<BR>"
Response.Write "Type: " & File.ImageType & "<BR>"
Response.Write "Size: " & File.ImageWidth & " x " & File.ImageHeight & " pixels"
Next
ZaimanMedlem sedan dec. 20014 239 inlägg Det jag kan tänka mig är att parent paths är avslagen i IIS. Då fungerar inte din sökväg med ".." i. Utan du måste använda dig av Server.MapPath för att få ut korrekt sökväg.
Zaiman skrev:
Det jag kan tänka mig är att parent paths är avslagen i IIS. Då fungerar inte din sökväg med ".." i. Utan du måste använda dig av Server.MapPath för att få ut korrekt sökväg.
Hur lägger jag in Server.MapPath så att det blir korrekt?
är koden riktig i övrigt eller måste nåt ändras?
oskarsMedlem sedan nov. 20051 317 inlägg Upload.Save Server.Mappath("../bilder/")
Så t.ex :)
Nu funkar det utan felmeddelande men jag får inte med filnamnstillägget i filen och sen undrar jag hur man skriver in filstorlek
Set File = Server.CreateObject("Persits.Upload")
File.Save Server.Mappath("../images/users")
File.SetMaxSize 50000, True
For Each File in File.Files
If File.ImageType = "UNKNOWN" Then
Response.Write "This is not an image."
Response.End
End If
Response.Write File.Path & "<BR>"
Response.Write "Type: " & File.ImageType & "<BR>"
Response.Write "Size: " & File.ImageWidth & " x " & File.ImageHeight & " pixels"
Next
ZaimanMedlem sedan dec. 20014 239 inlägg Här hittar du exempel på hur du gör: http://www.aspupload.com/manual.html
Zaiman skrev:
Här hittar du exempel på hur du gör: http://www.aspupload.com/manual.html
vad är det för object.required i det fetmarkerade området som saknas
picture = "update tblUsers set picture='"& Session("userID") &"'"".""'"& File.ImageType &"' , fotovalidering=1 where userID="& uid &""
ingen som kan hitta vad det är för object required här?
oskarsMedlem sedan nov. 20051 317 inlägg Antar att det är File.ImageType som den inte hittar... visa hela koden så vi ser hur du gjort!
oskars skrev:
Antar att det är File.ImageType som den inte hittar... visa hela koden så vi ser hur du gjort!
<!-- #include virtual="/include/dbconn.asp" -->
<%
Set File = Server.CreateObject("Persits.Upload")
File.Save Server.Mappath("../images/users")
File.SetMaxSize 50000, True
For Each File in File.Files
If File.ImageType = "UNKNOWN" Then
Response.Write "This is not an image."
Response.End
End If
Next
Dim objConn
usr=Session("username")
uid=Session("userID")
SET objConn = connect()
picture = "update tblUsers set picture='"& Session("userID") &"'"".""'"& File.ImageType &"' , fotovalidering=1 where userID="& uid &""
response.write picture
'response.end
objConn.Execute(picture)
Dim username, email, userID
userID = Session("userID")
username = Session("username")
'email = Request.Form("Email")
sTo = "stefan@stene.nu"
'sCC = ""& email &""
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.AddRecipient sTo
JMail.Subject = sSubject
'JMail.AddRecipient sTo
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
Application.Unlock
response.redirect "/pictureupload/validatePhoto.asp?filename="& Session("userID") &"." & File & "&id="& uid &"&usr="& usr &"&size=" & File.Size & ""%>
Gör jag så här
picture = "update tblUsers set picture="& varUID &" ""."" "& varFile &" , fotovalidering=1 where userID="& uid &""
så får jag object required File
oskarsMedlem sedan nov. 20051 317 inlägg Du får lägga hela den UPDATE-koden inom "For Each File in File.Files"-loopen!
det gick bättre men jag lyckas inte få in punkten mellan id och filnamnstillägg utan felmeddelande
picture ser ju ut att vara ett varchar och skall ha ' i SQL frågan.
när jag skriver ut frågan nu får jag
update tblUsers set picture='1.JPG' , fotovalidering=1 where userID=1
som det ska vara men om jag inte skriver ut den så får jag file-problemet igen
For Each File in File.Files
If File.ImageType = "UNKNOWN" Then
Response.Write "This is not an image."
Response.End
End If
Dim objConn
usr=Session("username")
varUID=Session("userID")
varFile=File.ImageType
SET objConn = connect()
picture = "update tblUsers set picture='"& varUID &"."& varFile &"' , fotovalidering=1 where userID="& varUID &""
response.write picture
response.end
objConn.Execute(picture)
Next
ta bort response.end och flytta den ner till efter "next" och kommentera ut objConn.Execute(picture)
Så ser du om du kör skriptet fler gånger. Det kan ju vara så att det är två filer du försöker ladda upp och ena fungera.
red.
Det kan ju också vara så att du försöker redirecta till en sida med objektet file som inte finns efter din for sats. Kolla vilken rad som generera felet.
nu får jag inget fel men bilden jag valde för uppladdning är inte den som laddas upp, den jag ser är den som redan finns på servern. Finns a.jpg på servern och jag laddar upp b.jpg så är det a.jpg som syns som den som ska laddas upp
har du fler uppladdnings formulär? dvs kan man ladda upp mer än en bild? det ser ju ut som du bara kan ladda upp en bild i din kod, eftersom du har bytt namn till userId
man kan bara ladda upp en bild eftersom det är bilden i sitt krypin, presentationsbilden
<!-- #include virtual="/include/dbconn.asp" -->
<!-- #include virtual="/include/variabler.asp" -->
<%
Set File = Server.CreateObject("Persits.Upload")
File.Save Server.Mappath("../images/users")
File.SetMaxSize 50000, True
For Each File in File.Files
If File.ImageType = "UNKNOWN" Then
Response.Write "This is not an image."
Response.End
End If
Dim objConn
usr=Session("username")
varUID=Session("userID")
varFile=File.ImageType
SET objConn = connect()
picture = "update tblUsers set picture='"& varUID &"."& varFile &"' , fotovalidering=1 where userID="& varUID &""
objConn.Execute(picture)
Dim username, email, userID
userID = Session("userID")
username = Session("username")
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
Application.Unlock
response.redirect "validatePhoto.asp?filename="& varUID &"." & varFile & "&id="& varUID &"&usr="& usr &"&size=" & File.Size & "&file="& File.FileName &""
Next
%>
jag ser absolut inte var felet är, sen undrar jag när det här felet är löst.....kan man hänga på kod som automatiskt förminskar bilden till en viss storlek med?
Jag ser inte när du laddar upp filerna på servern med ditt skript just nu, eller byter namn på filen som laddas upp...
Sen använder du dig av en massa variabler som är lika med så många andra
Jag har rensat upp lite kod så det blir lite enklare att läsa:
<!-- #include virtual="/include/dbconn.asp" -->
<!-- #include virtual="/include/variabler.asp" -->
<%
Set File = Server.CreateObject("Persits.Upload")
File.Save Server.Mappath("../images/users")
File.SetMaxSize 50000, True
For Each File in File.Files
If File.ImageType = "UNKNOWN" Then
Response.Write "This is not an image."
Response.End
End If
Dim objConn, FileName, username, userID
userID = Session("userID")
username = Session("username")
FileName = userID & "." & File.ImageType
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 "validatePhoto.asp?filename=" & FileName & "&id=" & userID & "&usr=" & username & "&size=" & File.Size & "&file=" & File.FileName
Next
%>
Och ja, det går att skala ner bilder om du har en komponent för detta.