webForumDet fria alternativet

Byte av bilduppladdningskomponent???

ASP

3 svar · 292 visningar · startad av jimbo

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

Hej på er alla vassa aspnissar =)

Har en skapa_annonsida som endast använder AspSmartUpload, mitt hotell stödjer bara SA FileUp, finns det någon som skulle vilja hjälpa mig att forma om denna koden nedan så att den funkar tex med FSO eller med SAfileUp?

Hade varit otroligt tacksam !!

skapa_annons.asp

<%
Option Explicit
Dim mySmartUpload, intFilStorlek, strBildNamn, strNamn, strTele, strMobil, strEpost
Dim strLan, strKategori, strTyp, strRubrik, strText, strPris, strLosenord1
Dim strLosenord2, File, strFilNamn, intCount, intID, FSO, strFilExt
Dim Upload, Count, arr, strOK, strTillat, i
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
	<title>Skapa annons</title>
</head>

<body>
<link href="style.css" rel="stylesheet" type="text/css">
<!--#include file="settings.asp"-->
<!--#include file="header.asp"-->
<br>
<table cellspacing="0" cellpadding="2" class="svarttext">
<tr>
	
<%
If intGlobAspSmartUpload = 1 Then
' **************************************************
' Koden om man har AspSmartUpload
' **************************************************
'	On Error Resume Next
	Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
	mySmartUpload.AllowedFilesList = strGlobFilandelser
	mySmartUpload.DenyPhysicalPath = True
	mySmartUpload.MaxFileSize = intGlobMaxStorlek
	mySmartUpload.Upload
	If Err Then
		Call ConClose()
		Response.Write "<td><b>Något blev fel.</b><br>Felmeddelandet lyder:<br>" & Err.Description & "<br><br><b>Tryck bakåt och försök igen.</b></td></tr></table>"
		Response.End
	End If
	On Error Goto 0
	For each File In mySmartUpload.Files
		intFilStorlek	= File.Size
		strBildNamn		= File.FileName
		strNamn			= SafeSQL(mySmartUpload.Form("namn"))
		strTele			= SafeSQL(mySmartUpload.Form("tele"))
		strMobil		= SafeSQL(mySmartUpload.Form("mobil"))
		strEpost		= SafeSQL(mySmartUpload.Form("epost"))
		strLan			= SafeSQL(mySmartUpload.Form("lan"))
		strKategori		= SafeSQL(mySmartUpload.Form("kategori"))
		strTyp			= SafeSQL(mySmartUpload.Form("typ"))
		strRubrik		= SafeSQL(mySmartUpload.Form("rubrik"))
		strText			= SafeSQL(mySmartUpload.Form("text"))
		strPris			= SafeSQL(mySmartUpload.Form("pris"))
		strLosenord1	= SafeSQL(mySmartUpload.Form("losenord1"))
		strLosenord2	= SafeSQL(mySmartUpload.Form("losenord2"))
' Kollar så inte filnamnet innehåller apostrofer
		If InStr(strBildNamn, "'") Then
			Call ConClose()
			Response.Write "<td>Filen du försöker ladda upp innehåller ej giltiga tecken. Tryck bakåt och försök igen.</td></tr></table>"
			Response.End
		End If
		intCount = mySmartUpload.Save ("annonsimg/imgtemp")
	Next
	Set mySmartUpload = Nothing
' **************************************************
' Slut på kollen om man har AspSmartUpload
' **************************************************

ElseIf intGlobAspUpload = 1 Then
' **************************************************
' Koden om man har AspUpload
' **************************************************
	On Error Resume Next
	Set Upload = Server.CreateObject("Persits.Upload")
	Count = Upload.SaveVirtual("annonsimg/imgtemp")
	Upload.OverwriteFiles = False
	For Each File In Upload.Files
' Kollar så inte filen är för stor
		intFilStorlek = File.Size
		strBildNamn = File.FileName
    	If intFilStorlek > intGlobMaxStorlek Then
			Call ConClose()
			File.Delete
			Response.Write "<td>Filen är för stor. Tryck bakåt och försök igen.</td></tr></table>"
			Response.End
	    End If
' Kollar filformatet är ok
		arr = Split(strGlobFilandelser,",")
		strTillat = False
		For i = 0 To UBound(arr)
			If UCase(File.Ext) = "." & UCase(arr(i)) Then
				strOK = True
			End If
		Next
		If strOK = False Then
			Call ConClose()
			File.Delete
			Response.Write "<td>Filformatet är ej tillåtet. Tryck bakåt och försök igen.</td></tr></table>"
			Response.End
		End If
' Kollar så inte filen är 0 KB stor
		If intFilStorlek = 0 Then
			Call ConClose()
			File.Delete
			Response.Write "<td>Filen finns ej. Tryck bakåt och försök igen.</td></tr></table>"
			Response.End
		End If
' Kollar så inte filnamnet innehåller otillåtna tecken
		If InStr(strBildNamn, "'") Then
			Call ConClose()
			File.Delete
			Response.Write "<td>Filen du försöker ladda upp innehåller ej giltiga tecken. Tryck bakåt och försök igen.</td></tr></table>"
			Response.End
		End If
	Next
	If intFilStorlek = "" Then
		intFilStorlek = 0
	End If
	strNamn			= SafeSQL(Upload.Form("namn"))
	strTele			= SafeSQL(Upload.Form("tele"))
	strMobil		= SafeSQL(Upload.Form("mobil"))
	strEpost		= SafeSQL(Upload.Form("epost"))
	strLan			= SafeSQL(Upload.Form("lan"))
	strKategori 	= SafeSQL(Upload.Form("kategori"))
	strTyp			= SafeSQL(Upload.Form("typ"))
	strRubrik		= SafeSQL(Upload.Form("rubrik"))
	strText			= SafeSQL(Upload.Form("text"))
	strPris			= SafeSQL(Upload.Form("pris"))
	strLosenord1	= SafeSQL(Upload.Form("losenord1"))
	strLosenord2	= SafeSQL(Upload.Form("losenord2"))
	Set Upload = Nothing
End If
' **************************************************
' Slut på kollen om man har AspUpload
' **************************************************

' Kollar så man har valt någon bild eller inte grejat med filfältet
	If intFilStorlek = 0 Then
		strFilNamn = "ingenbild"
	End If
' Kollar så lösenordet stämmer
	If Len(strLosenord1) < 3 Or Not strLosenord1 = strLosenord2 Or Len(strNamn) < 1 Or Len(strRubrik) < 1 Or Len(strText) < 1 Or Len(strPris) < 1 Then
		Call ConClose()
		Response.Write strText
		Response.Write "<td>Lösenordet är för kort eller är ej samma. Tryck bakåt och försök igen</td></tr></table>"
		Response.End
	End If
' Stoppar in allt i databasen
	strSQL = "INSERT INTO annons (namn, tele, mobil, epost, lan, kategori, typ, rubrik, [text], pris, bildnamn, losenord, datum) VALUES('" & strNamn & "','" & strTele & "','" & strMobil & "','" & strEpost & "','" & strLan & "','" & strKategori & "','" & strTyp & "','" & strRubrik & "','" & strText & "','" & strPris & "','" & strBildNamn & "','" & strLosenord1 & "','" & now & "')"
	Con.Execute(strSQL)
' Tar fram vilket ID denna post fick
	strSQL = "SELECT @@IDENTITY FROM annons"
	Set RS = Con.Execute(strSQL)
	intID = RS(0)
	Call RSClose()
	If Len(strBildNamn) > 0 Then
' Flyttar filen och byter namn på den
		Set FSO = Server.CreateObject("Scripting.FileSystemObject")
		strFilExt = FSO.GetExtensionName(Server.MapPath("annonsimg/imgtemp/" & strBildNamn))
		FSO.MoveFile (Server.MapPath("annonsimg/imgtemp/" & strBildNamn)), Server.MapPath("annonsimg/" & intID & "." & strFilExt)
		Set FSO = Nothing
		strBildNamn = intID & "." & strFilExt
		strSQL = "UPDATE annons SET bildnamn = '" & strBildNamn & "' WHERE id = " & intID
		Con.Execute(strSQL)
	End If
' Stänger efter oss och tar oss härifrån
	Call ConClose()
	Response.Redirect "skicka_epost.asp?id=" & intID
%>
</body>
</html>

Har kikat endel innan i forumet på fso men de e ju en hel djungel för ett otränat öga =(

Tack på förhand JImmy
:l :x :(

Medlem sedan feb. 2003185 inlägg
#2

Ingen som kan hjälpa mig på traven =(( ??

Medlem sedan apr. 20031 660 inlägg
#3

HEJ!

Det är inte så svårt.

Ta rad för rad, lista ut vad det heter med FSO.
Troligast heter det samma sak, eller nästan.

Sedan har du även ett antal metoder som hör till den komponent, tex
mySmartUpload.AllowedFilesList = strGlobFilandelser
mySmartUpload.DenyPhysicalPath = True
mySmartUpload.MaxFileSize = intGlobMaxStorlek

Dessa får du behandla på annat sätt, enklast är att ta bort dem, och när det fungerar eventuellt arbeta in dem.

mySmartUpload.AllowedFilesList = strGlobFilandelser
handlar ju endast om att kontrollera vilka filtyper man ska kunna lägga upp, görs enklast med JavaScript.

http://www.devguru.com/Technologies/vbscript/quickref/filesystemobject.html

Medlem sedan feb. 2003185 inlägg
#4

Tack Johnny =)

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