/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hjælp med vedhæftning af fil(er) fra bruge~
Fra : Anders Druedahl Bruu~


Dato : 30-10-07 21:48

Jeg ønsker en funktion hvor brugeren kan uploade billeder.
Billederne skal så sende til mig i en mail! Jeg har forsøgt mig
med et script fra html.dk (http://www.html.dk/scripts/asp/00003/)
"Script med vedhæftet fil" men jeg kan ikke se hvordan det skulle
kunne virke.. Er der nogen der har nogle ider til hvordan jeg kan
få løst mit problem!?? Mange tak

Anders

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Thrane (30-10-2007)
Kommentar
Fra : Thrane


Dato : 30-10-07 22:27


"Anders Druedahl Bruun" <druedahl@ofir.dk> wrote in message
news:4727989a$0$90276$14726298@news.sunsite.dk...
> Jeg ønsker en funktion hvor brugeren kan uploade billeder.
> Billederne skal så sende til mig i en mail! Jeg har forsøgt mig
> med et script fra html.dk (http://www.html.dk/scripts/asp/00003/)
> "Script med vedhæftet fil" men jeg kan ikke se hvordan det skulle
> kunne virke.. Er der nogen der har nogle ider til hvordan jeg kan
> få løst mit problem!?? Mange tak
>
> Anders
>
> --

Og du har omtalte AspMail installeret på serveren?

For at kunne få sendt filen til på mail, kræves det at filen allerede ligger
på serveren.
Dvs. at du skal lave det sådan at når brugeren har valgt sin fil på sin
computeren og klikekt send, så tager din programmering ved filen uploader
den til en folder på serveren og derefter vedhæfter den i mailen til dig.
Du kan ikke få en fil sendt direkte fra brugerens computer til dig selv, via
en formular på et website. Det vil være et kraftigt brud på sikkerheden.

--
Thrane


Thrane (30-10-2007)
Kommentar
Fra : Thrane


Dato : 30-10-07 22:34


"Anders Druedahl Bruun" <druedahl@ofir.dk> wrote in message
news:4727989a$0$90276$14726298@news.sunsite.dk...
> Jeg ønsker en funktion hvor brugeren kan uploade billeder.
> Billederne skal så sende til mig i en mail! Jeg har forsøgt mig
> med et script fra html.dk (http://www.html.dk/scripts/asp/00003/)
> "Script med vedhæftet fil" men jeg kan ikke se hvordan det skulle
> kunne virke.. Er der nogen der har nogle ider til hvordan jeg kan
> få løst mit problem!?? Mange tak
>
> Anders

Fandt noget kode som jeg brugte i "gamle dage", som dog benytter JMail
(gratis):

I filen du sender fra benyter du denne form:

<FORM Name="UpdatePOI" METHOD="POST" ENCTYPE="multipart/form-data"
ACTION="result.asp" onSubmit="return checkform()"><TABLE width="505"
border="0" cellpadding="2" cellspacing="0">

<tr>
<td width="132" align="right">Brugernavn: </td>
<td width="365"> <b>

</b>
<input name="Username" type="hidden"
class="txtbox" id="Brugernavn" value="" size="35" maxlength="100"></td></tr>
<tr>
<td align="right">Email:&nbsp;</td>
<td><b>
</b><input name="Email"
type="hidden" class="txtbox" id="Email" size="40" value=""></td>
</tr>
<tr>
<td align="right">Opdateret Fil:&nbsp;</td>
<td> <INPUT NAME="FILE1" TYPE=FILE class="txtbox" SIZE=40></td></tr>
<tr>
<td align="right" valign="top">Beskrivelse:&nbsp;</td>
<td><textarea name="Text" cols="40" rows="5" class="txtbox"
id="Text"></textarea></td>
</tr>
<tr align="center">
<td colspan="2">&nbsp;&nbsp;&nbsp; <input type=hidden name="saveto"
value="disk" checked>
<INPUT TYPE=SUBMIT name="send" class="txtbox" VALUE="send"></td>
</tr>
</TABLE></FORM>

Og result.asp som den bruger til action:


<%
'***************************************
' File: Upload.asp
' Author: Jacob "Beezle" Gilley
' Email: avis7@airmail.net
' Date: 12/07/2000
' Comments: The code for the Upload, CByteString,
' CWideString subroutines was originally
' written by Philippe Collignon...or so
' he claims. Also, I am not responsible
' for any ill effects this script may
' cause and provide this script "AS IS".
' Enjoy!
'****************************************

Class FileUploader
Public Files
Private mcolFormElem

Private Sub Class_Initialize()
Set Files = Server.CreateObject("Scripting.Dictionary")
Set mcolFormElem = Server.CreateObject("Scripting.Dictionary")
End Sub

Private Sub Class_Terminate()
If IsObject(Files) Then
Files.RemoveAll()
Set Files = Nothing
End If
If IsObject(mcolFormElem) Then
mcolFormElem.RemoveAll()
Set mcolFormElem = Nothing
End If
End Sub

Public Property Get Form(sIndex)
Form = ""
If mcolFormElem.Exists(LCase(sIndex)) Then Form =
mcolFormElem.Item(LCase(sIndex))
End Property

Public Default Sub Upload()
Dim biData, sInputName
Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos
Dim nPosFile, nPosBound

biData = Request.BinaryRead(Request.TotalBytes)
nPosBegin = 1
nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))

If (nPosEnd-nPosBegin) <= 0 Then Exit Sub

vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
nDataBoundPos = InstrB(1, biData, vDataBounds)

Do Until nDataBoundPos = InstrB(biData, vDataBounds & CByteString("--"))

nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition"))
nPos = InstrB(nPos, biData, CByteString("name="))
nPosBegin = nPos + 6
nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename="))
nPosBound = InstrB(nPosEnd, biData, vDataBounds)

If nPosFile <> 0 And nPosFile < nPosBound Then
Dim oUploadFile, sFileName
Set oUploadFile = New UploadedFile

nPosBegin = nPosFile + 10
nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
sFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
oUploadFile.FileName = Right(sFileName,
Len(sFileName)-InStrRev(sFileName, "\"))

nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:"))
nPosBegin = nPos + 14
nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))

oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin,
nPosEnd-nPosBegin))

nPosBegin = nPosEnd+4
nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
oUploadFile.FileData = MidB(biData, nPosBegin, nPosEnd-nPosBegin)

If oUploadFile.FileSize > 0 Then Files.Add LCase(sInputName),
oUploadFile
Else
nPos = InstrB(nPos, biData, CByteString(Chr(13)))
nPosBegin = nPos + 4
nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
If Not mcolFormElem.Exists(LCase(sInputName)) Then mcolFormElem.Add
LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
End If

nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds), biData,
vDataBounds)
Loop
End Sub

'String to byte string conversion
Private Function CByteString(sString)
Dim nIndex
For nIndex = 1 to Len(sString)
CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1)))
Next
End Function

'Byte string to string conversion
Private Function CWideString(bsString)
Dim nIndex
CWideString =""
For nIndex = 1 to LenB(bsString)
CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1)))
Next
End Function
End Class

Class UploadedFile
Public ContentType
Public FileName
Public FileData

Public Property Get FileSize()
FileSize = LenB(FileData)
End Property

Public Sub SaveToDisk(sPath)
Dim oFS, oFile
Dim nIndex

If sPath = "" Or FileName = "" Then Exit Sub
If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\"

Set oFS = Server.CreateObject("Scripting.FileSystemObject")
If Not oFS.FolderExists(sPath) Then Exit Sub

Set oFile = oFS.CreateTextFile(sPath & FileName, True)

For nIndex = 1 to LenB(FileData)
oFile.Write Chr(AscB(MidB(FileData,nIndex,1)))
Next

oFile.Close
End Sub

Public Sub SaveToDatabase(ByRef oField)
If LenB(FileData) = 0 Then Exit Sub

If IsObject(oField) Then
oField.AppendChunk FileData
End If
End Sub

End Class


'NOTE - YOU MUST HAVE VBSCRIPT v5.0 INSTALLED ON YOUR WEB SERVER
' FOR THIS LIBRARY TO FUNCTION CORRECTLY. YOU CAN OBTAIN IT
' FREE FROM MICROSOFT WHEN YOU INSTALL INTERNET EXPLORER 5.0
' OR LATER.


' Create the FileUploader
Dim Uploader, File
Set Uploader = New FileUploader

' This starts the upload process
Uploader.Upload()

'******************************************
' Use [FileUploader object].Form to access
' additional form variables submitted with
' the file upload(s). (used below)
'******************************************
Response.Write "Tak for den opdaterede fil, <b>" & Uploader.Form("Username")
& "</b>...<br>"

' Check if any files were uploaded
If Uploader.Files.Count = 0 Then
Response.Write "File(s) not uploaded."
Else
' Loop through the uploaded files
For Each File In Uploader.Files.Items

' Check where the user wants to save the file
If Uploader.Form("saveto") = "disk" Then

' Save the file
File.SaveToDisk "E:\inetpub\wwwroot\Domains\"

End If


Dim objJMail, strBody, basePath
basePath = "E:\inetpub\wwwroot\Domains\"


Set objJMail = Server.CreateObject("JMail.SMTPMail")

With objJMail
'Out going SMTP mail server address
.ServerAddress = "xxx.xx.xx.xx:xx"

'Who the e-mail is from
.Sender = Uploader.Form("Email")
.SenderName = Uploader.Form("Username")

'Who the e-mail is sent to
.AddRecipient "email@mail.dk"
.AddAttachment basePath & File.FileName

'The subject of the e-mail
.Subject = "Nyt fil"
'.ContentType = "text/html"

.Body = Uploader.Form("Text")

.Priority = 1

'Send the e-mail
'If NOT strIncomingMailServer = "" Then
.Execute
End With

'Close the server mail object
Set objJMail = Nothing

Next
End If

%>

Beklager, koden er taget næste direkte fra mine gamle sider, så der skal nok
ryddes lidt op...

Se om du kan få det til at virke...

--
Thrane


Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409081
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste