webForumDet fria alternativet

OveRRidEs uploadscript

13 svar · 431 visningar · startad av Alex_net

Alex_netMedlem sedan okt. 200225 inlägg
#1

Har laddat detta utmärkta skript som fungerar perfekt, har lyckats att skapa både bildnamns generator och spara bildens namn och sökväg i databasen.

Eftersom mitt formulär har också andra elementer (tex. Namn, ort, telefon, osv…) jag har inte alltid behov att lada och spara bilder när jag skickar och sparar i databas andra ovannämnda formulär elementer.

Om man kunde fixa det då skulle skript vara perfekt.

Går det på nåt sätt att skicka formulär utan att man måste välja att lada bild med tex. IF satsen som kollar om är tomt

value = UploadRequest.Item("blob").Item("Value")

om det är tomt kör ej

Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
bla
bla
bla
MyFile.Close

och sen kör igen

SQLStmt = "INSERT INTO Annonser

och sparar i databasen

Eller någon annan har bättre förslag när det gäller både
bildnamnsgenerator och tomt
value = UploadRequest.Item("blob").Item("Value")

Tack!

Här är exempel på outputfile.asp
-----------------------------------------------------------------------------------

<%

'bildnamnsgenerator

Passwordeller = ""

Randomize
For i = 1 to 10
intNum = Int(10 * Rnd + 48)
intBig = Int(26 * Rnd + 65)
intSmall = Int(26 * Rnd + 97)
intRand = Int(3 * Rnd + 1)

Select Case intRand
Case 1
delPasseller = Chr(intNum)
Case 2
delPasseller = Chr(intBig)
Case 3
delPasseller = Chr(intSmall)
End Select

Passwordeller = Passwordeller & delPasseller

Next
%>

<html>
<head>
<title>Upload</title>
</head>

<body>

<%
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
namn = UploadRequest.Item("namn").Item("Value")
epost = UploadRequest.Item("epost").Item("Value")
telefon = UploadRequest.Item("telefon").Item("Value")
ort = UploadRequest.Item("ort").Item("Value")
typ = UploadRequest.Item("typ").Item("Value")
Password = UploadRequest.Item("Password").Item("Value")
Kat_Id = UploadRequest.Item("Kat_Id").Item("Value")
Lan = UploadRequest.Item("Lan").Item("Value")
rubrik = UploadRequest.Item("rubrik").Item("Value")
pris = UploadRequest.Item("pris").Item("Value")
beskrivning = UploadRequest.Item("beskrivning").Item("Value")
login = UploadRequest.Item("login").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("/upload/"&Passwordeller &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("/upload/"&Passwordeller &filename) & "<br>"
response.write "<b>Filnamn:</b> " & filename & "<br><br>"
response.write "<img src=""" & ("/upload/"&Passwordeller &filename) & """>"
response.write "<b>Personens namn:</b> " & namn & "<br>"

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "DSN=xxxxx-test;Password=xxxx"

SQLStmt = "INSERT INTO Annonser (namn, epost, telefon, ort, typ, rubrik, pris, password, kategori_id, lan, beskrivning, login, filename) "
SQLStmt = SQLStmt & "VALUES('" & namn & "', '" & epost & "', '" & telefon & "', '" & ort & "', '" & typ & "',  '" & rubrik & "', '" & pris & "', '" & password & "', '" & kat_id & "', '" & lan & "', '" & beskrivning & "', '" & login & "',  '" & (Passwordeller &filename) & "') "

Set RS = Connection.Execute(SQLStmt)

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

%>

<!--#include file="../annonsera/upload.asp"-->

</body>
</html>

NickemannenMedlem sedan aug. 20003 575 inlägg
#2

använd sessioner

solbulleMedlem sedan mars 20015 287 inlägg
#3

Nickemannen skrev:

använd sessioner

?

Kanske:

<% 

'bildnamnsgenerator 

Passwordeller = "" 

Randomize 
For i = 1 to 10 
intNum = Int(10 * Rnd + 48) 
intBig = Int(26 * Rnd + 65) 
intSmall = Int(26 * Rnd + 97) 
intRand = Int(3 * Rnd + 1) 

Select Case intRand 
Case 1 
delPasseller = Chr(intNum) 
Case 2 
delPasseller = Chr(intBig) 
Case 3 
delPasseller = Chr(intSmall) 
End Select 

Passwordeller = Passwordeller & delPasseller 

Next 
%> 

<html> 
<head> 
<title>Upload</title> 
</head> 

<body> 

<% 
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 
namn = UploadRequest.Item("namn").Item("Value") 
epost = UploadRequest.Item("epost").Item("Value") 
telefon = UploadRequest.Item("telefon").Item("Value") 
ort = UploadRequest.Item("ort").Item("Value") 
typ = UploadRequest.Item("typ").Item("Value") 
Password = UploadRequest.Item("Password").Item("Value") 
Kat_Id = UploadRequest.Item("Kat_Id").Item("Value") 
Lan = UploadRequest.Item("Lan").Item("Value") 
rubrik = UploadRequest.Item("rubrik").Item("Value") 
pris = UploadRequest.Item("pris").Item("Value") 
beskrivning = UploadRequest.Item("beskrivning").Item("Value") 
login = UploadRequest.Item("login").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
If value <> "" 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("/upload/"&Passwordeller &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("/upload/"&Passwordeller &filename) & "<br>" 
response.write "<b>Filnamn:</b> " & filename & "<br><br>" 
response.write "<img src=""" & ("/upload/"&Passwordeller &filename) & """>" 

End If

response.write "<b>Personens namn:</b> " & namn & "<br>" 

Set Connection = Server.CreateObject("ADODB.Connection") 
Connection.Open "DSN=xxxxx-test;Password=xxxx" 

SQLStmt = "INSERT INTO Annonser (namn, epost, telefon, ort, typ, rubrik, pris, password, kategori_id, lan, beskrivning, login, filename) " 
SQLStmt = SQLStmt & "VALUES('" & namn & "', '" & epost & "', '" & telefon & "', '" & ort & "', '" & typ & "', '" & rubrik & "', '" & pris & "', '" & password & "', '" & kat_id & "', '" & lan & "', '" & beskrivning & "', '" & login & "', '" & (Passwordeller &filename) & "') " 

Set RS = Connection.Execute(SQLStmt) 

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 

%> 

<!--#include file="../annonsera/upload.asp"--> 

</body> 
</html>
Alex_netMedlem sedan okt. 200225 inlägg
#4

Tyvär solbulle det funkar inte med If value <> "" THEN
Vad menar du med "använd sessioner " hänger inte med ...

solbulleMedlem sedan mars 20015 287 inlägg
#5

Testa att byt ut den raden mot:

If byteCount > 0 THEN

Kanske kan fungera.

Det där med sessioner, jag satte ett frågetecken efter för jag fattar inte hur Nickemannen hade tänkt sig det, tyvärr.

PallemanMedlem sedan dec. 2000557 inlägg
#6

Detta förutsätter att du har "Tillåt nollvärde" på kolumnen som sparar filnamnet.

obs! Koden är helt otestad..

[RED]<html> 
<head> 
<title>Upload</title> 
</head> 
<body> 

<% 

Response.Expires = 0 
Response.Buffer = TRUE 
Response.Clear 

'// Bildnamnsgenerator 
Passwordeller = "" 

Randomize 
For i = 1 to 10 
    intNum = Int(10 * Rnd + 48) 
    intBig = Int(26 * Rnd + 65) 
    intSmall = Int(26 * Rnd + 97) 
    intRand = Int(3 * Rnd + 1) 

    Select Case intRand 
        Case 1 : delPasseller = Chr(intNum) 
        Case 2 : delPasseller = Chr(intBig) 
        Case 3 : delPasseller = Chr(intSmall) 
    End Select 

    Passwordeller = Passwordeller & delPasseller 
Next 

'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 

'// Hämta filnamnet
filepathname = UploadRequest.Item("blob").Item("FileName") 

'// Kolla om något ska laddas upp
If Len(filepathname) > 0 Then

    '// Något ska laddas upp
    SaveToDatabase = TRUE
    'Exempel på hur man kan 'plocka ner' andra forumlärelement 
    namn = UploadRequest.Item("namn").Item("Value") 
    epost = UploadRequest.Item("epost").Item("Value") 
    telefon = UploadRequest.Item("telefon").Item("Value") 
    ort = UploadRequest.Item("ort").Item("Value") 
    typ = UploadRequest.Item("typ").Item("Value") 
    Password = UploadRequest.Item("Password").Item("Value") 
    Kat_Id = UploadRequest.Item("Kat_Id").Item("Value") 
    Lan = UploadRequest.Item("Lan").Item("Value") 
    rubrik = UploadRequest.Item("rubrik").Item("Value") 
    pris = UploadRequest.Item("pris").Item("Value") 
    beskrivning = UploadRequest.Item("beskrivning").Item("Value") 
    login = UploadRequest.Item("login").Item("Value") 

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

    'Create FileSytemObject Component 
    If byteCount<=50000 THEN 

        'Create and Write to a File 
        Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject") 
        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("/upload/"&Passwordeller &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("/upload/"&Passwordeller &filename) & "<br>"& vbcrlf &_
        "<b>Filnamn:</b> " & filename & "<br><br>"& vbcrlf &_
        "<img src=""" & ("/upload/"&Passwordeller &filename) & """>"& vbcrlf &_
        "<b>Personens namn:</b> " & namn & "<br>"& vbcrlf

    Else
        SaveToDatabase = FALSE
        Response.Write "Du har antingen en fil som inte har filändelse .jpg eller så är den större än 50 kb." 

    End If 

Else
    '// Inget har laddats upp
    strFinalFilename = ""
    response.write ""&_
    "<b>Filens sökväg:</b> <span style=""color:red"">Ingen fil har laddats upp..</span><br>"& vbcrlf &_
    "<b>Filnamn:</b> <span style=""color:red"">Ingen fil har laddats upp..</span><br><br>"& vbcrlf &_
    "<b>Personens namn:</b> "& namn &"<br>"& vbcrlf

End If

If SaveToDatabase = TRUE Then

    Set Connection = Server.CreateObject("ADODB.Connection")
    Connection.Open "DSN=xxxxx-test;Password=xxxx" 
        SQLStmt = "INSERT INTO Annonser (namn, epost, telefon, ort, typ, rubrik, pris, password, kategori_id, lan, beskrivning, login, filename) " 
        SQLStmt = SQLStmt & "VALUES('"& namn &"', '"& epost &"', '"& telefon &"', '"& ort &"', '"& typ &"', '"& rubrik &"', '"& pris &"', '"& password &"', '"& kat_id &"', '"& lan &"', '"& beskrivning &"', '"& login &"', '"& strFinalFilename & "') " 
        Connection.Execute(SQLStmt),,128
    Connection.Close : Set Connection = Nothing

    Response.Write "Ok, allt klart.."

End If

%> 

<!--#include file="../annonsera/upload.asp"--> 

</body> 
</html>[/RED]
Alex_netMedlem sedan okt. 200225 inlägg
#7

Tack, Palle men om jag väljer att inte lada en bild
då sparas inte häller andra formulär elementer i databasen
namn, ort, osv...

Jag har "Tillåt nollvärde"

PallemanMedlem sedan dec. 2000557 inlägg
#8

Sant.. sorry..

Denna borde fungera bättre:

[RED]<html> 
<head> 
<title>Upload</title> 
</head> 
<body> 

<% 

Response.Expires = 0 
Response.Buffer = TRUE 
Response.Clear 

'// Bildnamnsgenerator 
Passwordeller = "" 

Randomize 
For i = 1 to 10 
    intNum = Int(10 * Rnd + 48) 
    intBig = Int(26 * Rnd + 65) 
    intSmall = Int(26 * Rnd + 97) 
    intRand = Int(3 * Rnd + 1) 

    Select Case intRand 
        Case 1 : delPasseller = Chr(intNum) 
        Case 2 : delPasseller = Chr(intBig) 
        Case 3 : delPasseller = Chr(intSmall) 
    End Select 

    Passwordeller = Passwordeller & delPasseller 
Next 

'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 

'// Hämta formulärdata
namn = UploadRequest.Item("namn").Item("Value") 
epost = UploadRequest.Item("epost").Item("Value") 
telefon = UploadRequest.Item("telefon").Item("Value") 
ort = UploadRequest.Item("ort").Item("Value") 
typ = UploadRequest.Item("typ").Item("Value") 
Password = UploadRequest.Item("Password").Item("Value") 
Kat_Id = UploadRequest.Item("Kat_Id").Item("Value") 
Lan = UploadRequest.Item("Lan").Item("Value") 
rubrik = UploadRequest.Item("rubrik").Item("Value") 
pris = UploadRequest.Item("pris").Item("Value") 
beskrivning = UploadRequest.Item("beskrivning").Item("Value") 
login = UploadRequest.Item("login").Item("Value") 

'// Hämta fildata
filepathname = UploadRequest.Item("blob").Item("FileName") 

'// Kolla om något ska laddas upp
If Len(filepathname) > 0 Then

    '// Ja, något ska laddas upp
   SaveToDatabase = TRUE
    contentType = UploadRequest.Item("blob").Item("ContentType") 
    filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\")) 
    value = UploadRequest.Item("blob").Item("Value")
    strFinalFilename = cStr(Passwordeller & filename)

    'Create FileSytemObject Component 
    If byteCount<=50000 THEN 

        'Create and Write to a File 
        Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject") 
        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("/upload/"&Passwordeller &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("/upload/"&Passwordeller &filename) & "<br>"& vbcrlf &_
        "<b>Filnamn:</b> " & filename & "<br><br>"& vbcrlf &_
        "<img src=""" & ("/upload/"&Passwordeller &filename) & """>"& vbcrlf &_
        "<b>Personens namn:</b> " & namn & "<br>"& vbcrlf

    Else
        SaveToDatabase = FALSE
        Response.Write "Du har antingen en fil som inte har filändelse .jpg eller så är den större än 50 kb." 

    End If 

Else
    '// Nej, inget har laddats upp
    strFinalFilename = ""
    response.write ""&_
    "<b>Filens sökväg:</b> <span style=""color:red"">Ingen fil har laddats upp..</span><br>"& vbcrlf &_
    "<b>Filnamn:</b> <span style=""color:red"">Ingen fil har laddats upp..</span><br><br>"& vbcrlf &_
    "<b>Personens namn:</b> "& namn &"<br>"& vbcrlf

End If

If SaveToDatabase = TRUE Then

    Set Connection = Server.CreateObject("ADODB.Connection")
    Connection.Open "DSN=xxxxx-test;Password=xxxx" 
        SQLStmt = "INSERT INTO Annonser (namn, epost, telefon, ort, typ, rubrik, pris, password, kategori_id, lan, beskrivning, login, filename) " 
        SQLStmt = SQLStmt & "VALUES('"& namn &"', '"& epost &"', '"& telefon &"', '"& ort &"', '"& typ &"', '"& rubrik &"', '"& pris &"', '"& password &"', '"& kat_id &"', '"& lan &"', '"& beskrivning &"', '"& login &"', '"& strFinalFilename & "') " 
        Connection.Execute(SQLStmt),,128
    Connection.Close : Set Connection = Nothing

    Response.Write "Ok, allt klart.."

End If

%> 

<!--#include file="../annonsera/upload.asp"--> 

</body> 
</html>[/RED]
Alex_netMedlem sedan okt. 200225 inlägg
#9

Fortfarande ingen uppdatering i databas bara jag får namn på person i
.....response.write ..."& namn &

PallemanMedlem sedan dec. 2000557 inlägg
#10

Skriv ut SQLStmt innan du exekverar den och kolla vilka värden som kommer fram..

ex.

[RED]Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "DSN=xxxxx-test;Password=xxxx" 
SQLStmt = "..hela din sql här.." 

     Response.Write SQLStmt
 
'Connection.Execute(SQLStmt),,128
Connection.Close : Set Connection = Nothing
Response.End[/RED]
PallemanMedlem sedan dec. 2000557 inlägg
#11

Föresten...

Stoppa in SaveToDatabase = TRUE i If-satsen som kollar om något laddats upp..

[RED]
Else
    '// Nej, inget har laddats upp
    [b]SaveToDatabase = TRUE[/b]
    strFinalFilename = ""
    ...osv.[/RED]
Alex_netMedlem sedan okt. 200225 inlägg
#12

Föråt men det är otroligt
när jag Skriver ut SQLStmt innan jag exekverar

ex.
bla bla....

Response.Write SQLStmt

'Connection.Execute(SQLStmt),,128
Connection.Close : Set Connection = Nothing
Response.End

får jag ingenting om jag väljer att inte lada bild
annars Skriver SQLStmt ut följande "med bild"

INSERT INTO Annonser (namn, epost, telefon, ort, typ, rubrik, pris, password, kategori_id, lan, beskrivning, login, filename) VALUES('Namn', 'email', 'telfon', 'ort', 'Säljes', 'Rubrik', 'pris', 'lösenord', '1', 'Blekinge län', 'Annonstext', '29025', 'L2U0ka2LUv01.gif')

Ok, allt klart..

I ex. 2 då sparas i databas BARA OM JAG VÄLJER ATT INTE LADA BILD (tvärtom)

Om jag stoppar i

'// Nej, inget har laddats upp
If SaveToDatabase = TRUE Then
strFinalFilename = ""

ex.

Bla bla

Else
'// Nej, inget har laddats upp
If SaveToDatabase = TRUE Then
strFinalFilename = ""
response.write ""&_
"<b>Filens sökväg:</b> <span style=""color:red"">Ingen fil har laddats upp..</span><br>"& vbcrlf &_
"<b>Filnamn:</b> <span style=""color:red"">Ingen fil har laddats upp..</span><br><br>"& vbcrlf &_
"<b>Personens namn:</b> "& namn &"<br>"& vbcrlf &_
"<b>Rubrik:</b> "& rubrik &"<br>"& vbcrlf

End If

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "DSN=xxxxx-test;Password=xxxxxx" 
    SQLStmt = "INSERT INTO Annonser (namn, epost, telefon, ort, typ, rubrik, pris, password, kategori_id, lan, beskrivning, login, filename) " 
    SQLStmt = SQLStmt & "VALUES('"& namn &"', '"& epost &"', '"& telefon &"', '"& ort &"', '"& typ &"', '"& rubrik &"', '"& pris &"', '"& password &"', '"& kat_id &"', '"& lan &"', '"& beskrivning &"', '"& login &"', '"& strFinalFilename & "') " 
    Response.Write SQLStmt

'Connection.Execute(SQLStmt),,128

Connection.Close : Set Connection = Nothing

Response.Write "Ok, allt klart.."

End If

---------------------------------------------------------------
Men tussen tack i alla fal Palle, jag vill inte störa dig.
//Alex

PallemanMedlem sedan dec. 2000557 inlägg
#13

Ok.. vi gör ett sista frest på detta. :)

[RED]<html> 
<head> 
<title>Upload</title> 
</head> 
<body> 

<% 

Response.Expires = 0 
Response.Buffer = TRUE 
Response.Clear 

'// Bildnamnsgenerator 
Passwordeller = "" 
Randomize 
For i = 1 to 10 
    intNum = Int(10 * Rnd + 48) 
    intBig = Int(26 * Rnd + 65) 
    intSmall = Int(26 * Rnd + 97) 
    intRand = Int(3 * Rnd + 1) 

    Select Case intRand 
        Case 1 : delPasseller = Chr(intNum) 
        Case 2 : delPasseller = Chr(intBig) 
        Case 3 : delPasseller = Chr(intSmall) 
    End Select 

    Passwordeller = Passwordeller & delPasseller 
Next 

'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes)) 
'Response.BinaryWrite(Request.BinaryRead(varByteCount)) 

byteCount = Request.TotalBytes 
RequestBin = Request.BinaryRead(byteCount) 

Dim UploadRequest 
Set UploadRequest = CreateObject("Scripting.Dictionary") 

    BuildUploadRequest RequestBin 

    '// Hämta formulärdata
    namn = UploadRequest.Item("namn").Item("Value") 
    epost = UploadRequest.Item("epost").Item("Value") 
    telefon = UploadRequest.Item("telefon").Item("Value") 
    ort = UploadRequest.Item("ort").Item("Value") 
    typ = UploadRequest.Item("typ").Item("Value") 
    Password = UploadRequest.Item("Password").Item("Value") 
    Kat_Id = UploadRequest.Item("Kat_Id").Item("Value") 
    Lan = UploadRequest.Item("Lan").Item("Value") 
    rubrik = UploadRequest.Item("rubrik").Item("Value") 
    pris = UploadRequest.Item("pris").Item("Value") 
    beskrivning = UploadRequest.Item("beskrivning").Item("Value") 
    login = UploadRequest.Item("login").Item("Value") 

    '// Hämta fildata
    filepathname = trim(UploadRequest.Item("blob").Item("FileName"))

    '// Kolla om något ska laddas upp
    If Len(filepathname) > 0 Then

        '// Ja, något ska laddas upp
        SaveToDatabase = TRUE
        contentType = UploadRequest.Item("blob").Item("ContentType") 
        filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\")) 
        value = UploadRequest.Item("blob").Item("Value")
        strFinalFilename = cStr(Passwordeller & filename)

        '// Kolla filstorlek
        If cInt(byteCount) <= 50000 Then

            '// Ladda upp fil
            Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject") 
            pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14 
            Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/upload/"& strFinalFilename)) 
                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("/upload/"& strFinalFilename) & "<br>"& vbcrlf &_
            "<b>Filnamn:</b> " & filename & "<br><br>"& vbcrlf &_
            "<img src=""" & ("/upload/"& strFinalFilename) & """>"& vbcrlf &_
            "<b>Personens namn:</b> " & namn & "<br>"& vbcrlf

        Else
            SaveToDatabase = FALSE
            Response.Write "Du har antingen en fil som inte har filändelse .jpg eller så är den större än 50 kb." 

        End If 

    Else
        '// Nej, inget ska laddas upp
        SaveToDatabase = TRUE
        strFinalFilename = ""
        Response.Write ""&_
        "<b>Filens sökväg:</b> <span style=""color:red"">Ingen fil har laddats upp..</span><br>"& vbcrlf &_
        "<b>Filnamn:</b> <span style=""color:red"">Ingen fil har laddats upp..</span><br><br>"& vbcrlf &_
        "<b>Personens namn:</b> "& namn &"<br>"& vbcrlf

    End If

Set UploadRequest = Nothing

'// Spara information om allt är ok
If SaveToDatabase = TRUE Then
    Set Connection = Server.CreateObject("ADODB.Connection")
    Connection.Open "DSN=xxxxx-test;Password=xxxx" 
        SQLStmt = "INSERT INTO Annonser (namn, epost, telefon, ort, typ, rubrik, pris, password, kategori_id, lan, beskrivning, login, filename) " 
        SQLStmt = SQLStmt & "VALUES('"& namn &"', '"& epost &"', '"& telefon &"', '"& ort &"', '"& typ &"', '"& rubrik &"', '"& pris &"', '"& password &"', '"& kat_id &"', '"& lan &"', '"& beskrivning &"', '"& login &"', '"& strFinalFilename & "') " 
        Connection.Execute(SQLStmt),,128
    Connection.Close : Set Connection = Nothing
    Response.Write "Ok, allt klart.."

Else
    Response.Write "Något blev fel på vägen.. ingen fil har laddats upp!"

End If

%> 

<!--#include file="../annonsera/upload.asp"--> 

</body> 
</html>[/RED]
Alex_netMedlem sedan okt. 200225 inlägg
#14

Tusen Tack Palleman!
Nu fungerar det perfekt.

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