/ 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
Vedhæftning af fil fra databse
Fra : Lars Linde


Dato : 26-11-02 12:21

Hejsa gruppe !

Okay here goes...

Jeg har følgende problem:

Min database indeholder en tabel der hedder Applicationattachments,
som har følgende felter:

id int
application_id int
filename nvarchar 255
data image
mimetype nvarchar 20

Jeg vil nu gerne kunne sende en email med en tilhørende attachment.
Mit problem er bare at jeg kun gemmer attachments i databasen og IKKE
i filsystemet.

Hvordan kan jeg så vedhæfte filen med CDONTS ?

Jeg har kigget lidt på
http://activedeveloper.dk/iishelp/iis/htm/asp/amsm0qzj.htm

Hvor man kan læse følgende:

Set objNewMail = CreateObject("CDONTS.NewMail")
objNewMail.AttachFile("\\server\schedule\sched.xls", "SCHED.XLS")
objNewMail.Send("Automated Schedule Generator", "you@company.com", _
"Schedule", "Here's the latest master schedule", 0)
Set objNewMail = Nothing

Men jeg har jo som bekendt ikke nogen sti til en fil, hvad gør jeg ?

På forhånd tak

Mvh
Lars Linde


--
Remove the crap to reply



 
 
Lars Linde (26-11-2002)
Kommentar
Fra : Lars Linde


Dato : 26-11-02 14:26

[snip]
Hele mit problem.
[/snip]

Jeg har selv fundet ud af det.

Mvh
Lars Linde



Jens Gyldenkærne Cla~ (26-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 26-11-02 14:43

Lars Linde skrev:

> Jeg har selv fundet ud af det.

Hvordan?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Lars Linde (26-11-2002)
Kommentar
Fra : Lars Linde


Dato : 26-11-02 16:16

> > Jeg har selv fundet ud af det.
> Hvordan?

Sådan her:

function sendmail(to_mail, cc_mail, bcc_mail, from_mail, subject, body, id)
dim myMail
set myMail = Server.CreateObject("CDONTS.NewMail")
myMail.From = from_mail
myMail.To = to_mail
myMail.Cc = cc_mail
myMail.Bcc = bcc_mail
myMail.Subject = subject
myMail.BodyFormat = 0
myMail.MailFormat = 0
myMail.Body = body

if id <> "" then
Dim oFM
Set oFM = Server.CreateObject("SoftArtisans.FileManager")
sql = "EXEC getApplicationAttachments '" & id & "'"
set attachmentRs = connect.execute(sql)
if not attachmentRs.eof then
savePath = Server.MapPath(".") & "\tempMailFolder\" &
attachmentRs("filename")
oFM.ImportFromBlob attachmentRs("data"), savePath
myMail.AttachFile savePath, attachmentRs("filename")
end if
end if
myMail.Send
Set myMail = Nothing

if oFM.FileExists(savePath) then
' Slet den midlertidige fil igen
oFM.DeleteFile savePath, True 'True sletter også read-only
end if

end function


Heldigt at jeg havde adgang til dette objekt selvfølgelig,
men det løste opgaven perfekt

Med venlig hilsen
Lars Linde



Jesper Stocholm (26-11-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 26-11-02 16:38

Lars Linde wrote :

>> > Jeg har selv fundet ud af det.
>> Hvordan?
>
> Sådan her:

> Set oFM = Server.CreateObject("SoftArtisans.FileManager")
> sql = "EXEC getApplicationAttachments '" & id & "'"
> set attachmentRs = connect.execute(sql)
> if not attachmentRs.eof then
> savePath=Server.MapPath(".")&"\tempMailFolder\" & attachmentRs("filename")
> oFM.ImportFromBlob attachmentRs("data"), savePath
> myMail.AttachFile savePath, attachmentRs("filename")

Med andre ord, så henter du filen fra din tabel, skriver den til disk
og læser den derfra.

Hvis du ikke havde mulighed for dette, så kunne en mulighed være at
anvende fx W3 Sockets (der er gratis) til "manuelt" at konstruere en
email, der så sendes via SMTP-kommunikation med din mailserver. I det
tilfælde vil du i stedet skulle fx Base64-kode data fra dit datalag
og skrive det direkte ind i emailen. Det kan være, at det lyder lidt
omstændigt, men SMTP-kommunikation er ikke raketvidenskab. Derudover
undgår du at skrive din fil til disk først

> Heldigt at jeg havde adgang til dette objekt selvfølgelig,
> men det løste opgaven perfekt

sådan kan man jo være så heldig ...



--
Jesper Stocholm
http://stocholm.dk
Ny FAQ for dk.edb.internet.webdesign.serverside.asp
se http://asp-faq.dk

Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408538
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste