Avatar billede j-roar-h Nybegynder
10. oktober 2010 - 16:37 Der er 29 kommentarer og
1 løsning

Vedhæfte filer i asp

Hej,

Jeg har et spørgsmål til hvordan man vedhæfter filer til en asp formular.

Min asp kode ser nu sådan ud:

<%   

if request.form("navn") = "" Then
  Response.write "Skriv venligst dit navn"
else
if request.form("adresse") = "" Then
  Response.write "Skriv venligst din adresse"
else
if request.form("postnr_og_by") = "" Then
  Response.write "Skriv venligst dit postnr og din by"
else
if request.form("telefonnummer") = "" Then
  Response.write "Skriv venligst dit telefonnummer"
else
if request.form("mail") = "" Then
  Response.write "Skriv venligst din email adresse"
else
if request.form("kommentar") = "" Then
  Response.write "Skriv venligst en kommentar"
else
if request.form("klienter") = "" Then
  Response.write "Skriv venligst hvor mange klienter du ønsker"
else
  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient "MAIL"
  Mailer.Subject = "Kontakt"
  Mailer.FromName = request.Form("navn")
  Mailer.FromAddress = "MAIL"
  Mailer.ReplyTo = request.Form("mail")
  Mailer.ContentType = "text/html"

  msg = "<html><body><span style=""font-family: Calibri, Verdana; font-size: 14px; color: #333333;"">"
  msg = msg & "Kære " & request.Form("navn") & "<br><br>"
  msg = msg & "Din forespørgsel er modtaget og vi vil hurtigst muligt vende tilbage.<br><br>"
  msg = msg & "Hav en god dag<br><br>"
  msg = msg & "<strong>Adresse: </strong><br>" & request.Form("adresse") & "<br><br>"
  msg = msg & "<strong>Postnr og by: </strong><br>" & request.Form("postnr_og_by") & "<br><br>"
  msg = msg & "<strong>Telefonnummer: </strong><br>" & request.Form("telefonnummer") & "<br><br>"
  msg = msg & "<strong>E-mail adresse: </strong><br>" & request.Form("mail") & "<br><br>"
  msg = msg & "<strong>Kommentar: </strong><br>" & request.Form("kommentar") & "<br><br>"
  msg = msg & "<strong>Antal klienter: </strong><br>" & request.Form("klienter") & "<br><br>"
  msg = msg & "Med venlig hilsen<br><strong>Datacompagniet</strong><br><br><img src=""http://ringstedtennisklub.dk/datacompagniet/Nyweb/Images/Logo.png"">"
  msg = msg & "</span></body></html>"
  Mailer.BodyText=msg
  Mailer.CharSet = 2

  if not Mailer.SendMail then
    Response.Write "Email blev ikke sendt... Fejlen er: <br>"
    Response.Write Mailer.Response
  else
    Response.Write ""
    Response.Write "" & replace(msg,vbCrLf,"<br>")
  end if
  end if
  end if
  end if
  end if
  end if
  end if
end if 
%>

Håber nogen kan hjælpe.

På forhånd tak!
Avatar billede claes57 Ekspert
10. oktober 2010 - 16:51 #1
jf http://www.html.dk/scripts/asp/00003/

' Attachment (bemærk stiangivelsen på serveren)
Mailer.AddAttachment "c:\inetpub\wwwroot\test.txt"

dvs du skal have filen liggende på samme server, og bruge direkte adressering
Avatar billede j-roar-h Nybegynder
10. oktober 2010 - 17:41 #2
Hvordan finder jeg hvilken mappe den ligger filerne ned i? Altså stien til mappen. Og det med direkte adressering er jeg heller ikke helt med på..

Jeg har det pt liggende hos dandomain, men det skal rykkes til wannafind.
Avatar billede w13 Novice
10. oktober 2010 - 18:31 #3
Hvis brugeren skal kunne vælge sin egen fil, bliver det lidt besværligt, da hans fil først skal uploades til din server og derefter skal dens sti indsættes.

Hvis han bare vælger mellem filer, der allerede ligger på din server, er det meget nemmere. =)
Avatar billede claes57 Ekspert
10. oktober 2010 - 18:47 #4
du finder stien på samme måde som stien til database (access) fx
sti = Server.MapPath("upload/fil.txt")
så har du den på c:\... formen.
Avatar billede j-roar-h Nybegynder
10. oktober 2010 - 18:54 #5
Jeg fik nok ikke beskrevet det korrekt. Det er meningen at brugeren skal vælge sin egen fil da det skal bruges til jobsøgere der skal kunne vedhæfte deres cv.

Vil den kode som claes57 virke til dette?
Avatar billede claes57 Ekspert
10. oktober 2010 - 20:22 #6
som #3 skriver - filen skal uploades - du skal holde styr på dens placering - herefter kan du findes lokal placering, sende mail, og evt slette filen igen.
Så du er inde i noget, der skal køres i flere omgange.
Avatar billede w13 Novice
10. oktober 2010 - 20:36 #7
Ja, så du skal nok ud og finde et upload-script - som vel at mærke understøttes af din server! Tit har server-udbydere nogle eksempler liggende, eller som minimum en liste over upload-plugins, der kan bruges. Det er nemlig langt fra alt, der kan benyttes.
Avatar billede j-roar-h Nybegynder
10. oktober 2010 - 21:07 #8
Kender du nogen der virker til dandomain?
Og til wannafind.

Det skal ligge på en test server hos dandomain, og når hjemmesiden er færdig skal den rykkes til wannafind.
Avatar billede w13 Novice
10. oktober 2010 - 21:12 #9
Persits Upload komponent ser ud til at være fin til Dandomain: http://www.dandomain.dk/support/prog/asp-scripts-asppupload.html
og til Wannafind: http://knowledgebase.wannafind.dk/show/asp+classic+og+asp.net#232
:)
Avatar billede j-roar-h Nybegynder
11. oktober 2010 - 12:40 #10
Jeg har nu prøvet at indsætte den kode der er på dandomain.

Men når jeg har gjort det, får jeg denne fejl meddelse:

Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/Datacompagniet/Nyweb/Jobs_konsulent.asp, line 117

Min html kode ser sådan ud:

<form method="post" ENCTYPE="multipart/form-data" ACTION="Jobs_konsulent.asp">
      <legend></legend>
      <p><span style="display:none">
        <label for="subject">Subject</label>
        <input type="text" id="subject" name="important" size="32" />
      </span></p>
      <table border="0">
        <tr>
          <td><label for="f2">Navn:</label></td>
          <td><input id="f2" type="text" name="navn" size="50" /></td>
          <td valign="top">*</td>
        </tr>
        <tr>
          <td>Adresse:</td>
          <td><input id="f5" type="text" name="adresse" size="50" /></td>
          <td valign="top">*</td>
        </tr>
        <tr>
          <td>Postnr og by:</td>
          <td><input id="f6" type="text" name="postnr_og_by" size="50" /></td>
          <td valign="top">*</td>
        </tr>
        <tr>
          <td>Telefonnummer:</td>
          <td><input id="f7" type="text" name="telefonnummer" size="50" /></td>
          <td valign="top">*</td>
        </tr>
        <tr>
          <td>E-mail adresse:</td>
          <td><input id="f3" type="text" name="mail" size="50" /></td>
          <td valign="top">*</td>
        </tr>
        <tr>
          <td>Kommentar:</td>
          <td><textarea id="besked" name="kommentar" cols="36" rows="4"></textarea></td>
          <td valign="top">*</td>
        </tr>
        <tr>
          <td>Vedhæft CV:</td>
          <td><input id="cv" type="file" name="cv" size="50" /></td>
          <td valign="top">*</td>
        </tr>
      </table>
      <p>
        <input id="subm" type="submit" value="Send" />
        <input type="reset" value="Slet" />
        </p>
      <p>* skal udfyldes<br />
      </p>
    </form>

Og min asp sådan:

<%
    Set Upload = Server.CreateObject("Persits.Upload")
    Count = Upload.Savevirtual("/log")
    Response.Write Count & " file(s) uploaded to mappenavn"
    Response.Write Count & " file(s) uploaded to mappenavn"
    'Luk Objectet
    Set Upload = nothing
%>
<%   

if request.form("navn") = "" Then
  Response.write "Skriv venligst dit navn"
else
if request.form("adresse") = "" Then
  Response.write "Skriv venligst din adresse"
else
if request.form("postnr_og_by") = "" Then
  Response.write "Skriv venligst dit postnr og din by"
else
if request.form("telefonnummer") = "" Then
  Response.write "Skriv venligst dit telefonnummer"
else
if request.form("mail") = "" Then
  Response.write "Skriv venligst din email adresse"
else
if request.form("kommentar") = "" Then
  Response.write "Skriv venligst en kommentar"
else
if request.form("cv") = "" Then
  Response.write "Vedhæft venligst dit CV"
else

  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient "Datacompagniet A/S","MAIL"
' Mailer.AddBCC "Datacompagniet A/S","MAIL"
  Mailer.Subject = "Kontakt"
  Mailer.FromName = request.Form("navn")
  Mailer.FromAddress = "MAIL"
  Mailer.ReplyTo = request.Form("mail")
  Mailer.AddAttachment "c:\inetpub\wwwroot\test.txt"
  Mailer.ContentType = "text/html"
 

  msg = "<html><body><span style=""font-family: Calibri, Verdana; font-size: 14px; color: #333333;"">"
  msg = msg & "Hej " & request.Form("navn") & "<br><br>"
  msg = msg & "Du har kontaktet en af vores konsulenter, som vil tage hånd om din besked hurtigst muligt.<br><br>"
  msg = msg & "Vi har modtaget følgende oplysninger:<br><br>"
  msg = msg & "<strong>Adresse: </strong><br>" & request.Form("adresse") & "<br><br>"
  msg = msg & "<strong>Postnr og by: </strong><br>" & request.Form("postnr_og_by") & "<br><br>"
  msg = msg & "<strong>Telefonnummer: </strong><br>" & request.Form("telefonnummer") & "<br><br>"
  msg = msg & "<strong>E-mail adresse: </strong><br>" & request.Form("mail") & "<br><br>"
  msg = msg & "<strong>Kommentar: </strong><br>" & request.Form("kommentar") & "<br><br>"
  msg = msg & "Med venlig hilsen<br><strong>Datacompagniet</strong><br><br><img src=""http://ringstedtennisklub.dk/datacompagniet/Nyweb/Images/Logo.png"">"
  msg = msg & "</span></body></html>"
  Mailer.BodyText=msg
  Mailer.CharSet = 2

  if not Mailer.SendMail then
    Response.Write "Email blev ikke sendt... Fejlen er: <br>"
    Response.Write Mailer.Response
  else
    Response.Write ""
    Response.Write "" & replace(msg,vbCrLf,"<br>")
  end if
  end if
  end if
  end if
  end if
  end if
end if
%>
Avatar billede w13 Novice
11. oktober 2010 - 12:50 #11
Hvilken linje er 117?
Avatar billede j-roar-h Nybegynder
11. oktober 2010 - 13:04 #12
Det er den med fed.

end if
Avatar billede w13 Novice
11. oktober 2010 - 13:17 #13
Det forstår jeg ikke. Det ser umiddelbart rigtigt nok ud. Den mener åbenbart, at der mangler en "end if".
Avatar billede j-roar-h Nybegynder
11. oktober 2010 - 13:37 #14
Det har jeg nu rettet, men får nu denne fejl meddelse:

1 file(s) uploaded to mappenavn1 file(s) uploaded to mappenavn
Request object error 'ASP 0207 : 80004005'

Cannot use Request.Form

/Datacompagniet/Nyweb/Jobs_konsulent.asp, line 57

Cannot use Request.Form collection after calling BinaryRead.

Linje 57 hedder if request.form("navn") = "" Then
Avatar billede j-roar-h Nybegynder
11. oktober 2010 - 13:39 #15
Glemte at sige at den ligger fil fint ud i den mappe den skal.
Avatar billede w13 Novice
11. oktober 2010 - 13:56 #16
Nej, af en eller anden dum grund slår din upload-funktion "Request.Form" fra. Prøv at rykke upload-funktionen ned under resten af koden, så der ikke kommer nogle Request.Forms efter den.

Alternativt skal alle Request.Forms nok lægges over i nogle variabler inden upload-koden køres.
Avatar billede j-roar-h Nybegynder
11. oktober 2010 - 14:26 #17
Har rykket den ned under det andet kode. Men får nu denne fejl:

Skriv venligst dit navn
Persits.Upload.1 error '800a0001'

Unspecified error

/Datacompagniet/Nyweb/Jobs_konsulent.asp, line 146

Du skriver Request.Forms skal ligges i variabler, hvordan det?
Avatar billede w13 Novice
11. oktober 2010 - 15:01 #18
Hvis du har rykket det ned under behøver du ikke lægge dem i variabler.

Men bare til info kunne det gøres sådan her:

sTelefonnummer = Request.Form("telefonnummer")
sMail                      = Request.Form("mail")


Så kan du senere bare arbejde med sTelefonnummer og sMail uden at skulle bruge formen Request.Form.

Nå, men din fejlbesked antyder, at du ikke har indtastet et navn. Det burde dog ikke gøre noget ved upload-funktionen. Hvilken linje er 146?
Avatar billede j-roar-h Nybegynder
11. oktober 2010 - 15:11 #19
Er ikke helt med på hvad du mener med

sTelefonnummer = Request.Form("telefonnummer")
sMail                      = Request.Form("mail")

Men linje 146 er    Count = Upload.Savevirtual("/log")
Avatar billede w13 Novice
11. oktober 2010 - 15:22 #20
I følge denne side, må der stadig være Request.Form et sted oven over upload-koden: http://support.persits.com/show.asp?code=PS02022586

Ellers er det en anden uforklarlig fejl, og så ved jeg ikke helt, hvad vi kan gøre ved det..
Avatar billede j-roar-h Nybegynder
11. oktober 2010 - 15:50 #21
Ja, det er der også efter som jeg har sat uploadkoden under den anden kode.

Der står på deres side at man ikke kan bruge Request.Form.Men at man skal bruge Upload.Form i stedet.

Det har jeg så prøvet, og fik så denne fejl meddelse:

Microsoft VBScript runtime error '800a01a8'

Object required: ''

/Datacompagniet/Nyweb/Jobs_konsulent.asp, line 51

Linje 51= if upload.form("navn") = "" Then
Avatar billede j-roar-h Nybegynder
14. oktober 2010 - 12:28 #22
Hvordan kommer jeg videre herfra?
Avatar billede w13 Novice
14. oktober 2010 - 13:58 #23
Hmm, jeg får vist ikke altid e-mails, når der kommer nye posts..

Prøv at poste din kode, som den ser ud nu.
Avatar billede j-roar-h Nybegynder
14. oktober 2010 - 14:57 #24
<%   

if request.form("navn") = "" Then
  Response.write "Skriv venligst dit navn"
else
if request.form("adresse") = "" Then
  Response.write "Skriv venligst din adresse"
else
if request.form("postnr_og_by") = "" Then
  Response.write "Skriv venligst dit postnr og din by"
else
if request.form("telefonnummer") = "" Then
  Response.write "Skriv venligst dit telefonnummer"
else
if request.form("mail") = "" Then
  Response.write "Skriv venligst din email adresse"
else
if request.form("kommentar") = "" Then
  Response.write "Skriv venligst en kommentar"
else
if request.form("cv") = "" Then
  Response.write "Vedhæft venligst dit cv"
else

'Brugerens bekræftelses-e-mail:

  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient request.Form("navn"), request.Form("mail")
  Mailer.Subject = "Jobsøger - Konsulent"
  Mailer.FromName = "Datacompagniet A/S"
  Mailer.FromAddress = "MAIL"
  Mailer.ReplyTo = "MAIL"
  Mailer.ContentType = "text/html"
 
  msg = "<html><body><span style=""font-family: Calibri, Verdana; font-size: 14px; color: #333333;"">"
  msg = msg & "Kære " & request.Form("navn") & "<br><br>"
  msg = msg & "Vi har modtaget din uopfordrede ansøgning.<br><br>"
  msg = msg & "Som du ved, så har vi ingen åbne stillinger i øjeblikket, men så snart vi har screenet din ansøgning vil vi melde tilbage om din profil passer til datacompagniet.<br><br>"
  msg = msg & "Passer din profil, vil vi gemme den og tillade os at tage kontakt, når en stilling bliver åben.<br><br>"
  msg = msg & "Tak for du har valgt at søge arbejde hos datacompagniet.<br><br>"
  msg = msg & "<strong>Med venlig hilsen</strong><br>Thomas Larsen<br>Teknisk direktør<br><br><img src=""http://ringstedtennisklub.dk/datacompagniet/Nyweb/Images/Logo.png"">"
  msg = msg & "</span></body></html>"
  Mailer.BodyText=msg
  Mailer.CharSet = 2

  if not Mailer.SendMail then
    Response.Write "Email-bekræftelsen blev ikke sendt... Fejlen er: <br>"
    Response.Write Mailer.Response
  else
    Response.Write ""
    Response.Write "" & replace(msg,vbCrLf,"<br>")
  end if

  Set Mailer = Nothing
  msg = ""

' Din egen e-mail:

  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient "Datacompagniet A/S","MAIL"
  Mailer.Subject = "Jobsøger - Konsulent"
  Mailer.FromName = request.Form("navn")
  Mailer.FromAddress = "MAIL"
  Mailer.ContentType = "text/html"

  msg = "<html><body><span style=""font-family: Calibri, Verdana; font-size: 14px; color: #333333;"">"
  msg = msg & "Kære Jesper<br><br>"
  msg = msg & "En jobsøger som konsulent har kontaktet dig med følgende oplysninger:<br><br>"
  msg = msg & "<strong>Navn: </strong><br>" & request.Form("navn") & "<br><br>"
  msg = msg & "<strong>Adresse: </strong><br>" & request.Form("adresse") & "<br><br>"
  msg = msg & "<strong>Postnr og by: </strong><br>" & request.Form("postnr_og_by") & "<br><br>"
  msg = msg & "<strong>Telefonnummer: </strong><br>" & request.Form("telefonnummer") & "<br><br>"
  msg = msg & "<strong>E-mail adresse: </strong><br>" & request.Form("mail") & "<br><br>"
  msg = msg & "<strong>Kommentar: </strong><br>" & Replace(request.Form("kommentar"), vbCrLf, "<br>") & "<br><br>"
  msg = msg & "Med venlig hilsen<br><strong>Datacompagniet</strong><br><br><img src=""http://ringstedtennisklub.dk/datacompagniet/Nyweb/Images/Logo.png"">"
  msg = msg & "</span></body></html>"
  Mailer.BodyText=msg
  Mailer.CharSet = 2

  if not Mailer.SendMail then
    Response.Write "Email til mig blev ikke sendt... Fejlen er: <br>"
    Response.Write Mailer.Response
  end if

  Set Mailer = Nothing

  end if
  end if
  end if
  end if
  end if
  end if
end if 
%>
<%
    Set Upload = Server.CreateObject("Persits.Upload")
    Count = Upload.Savevirtual("/log")
    Response.Write Count & " file(s) uploaded to mappenavn"
    'Luk Objectet
    Set Upload = nothing
%>
Avatar billede w13 Novice
14. oktober 2010 - 17:49 #25
Jeg forstår desværre ikke umiddelbart, hvorfor det ikke fungerer. Jeg har kun PHP-servere, så jeg kan ikke engang teste det selv.
Avatar billede j-roar-h Nybegynder
15. oktober 2010 - 13:37 #26
hmm, okay. hvordan kommer jeg så videre herfra?
Avatar billede w13 Novice
15. oktober 2010 - 14:27 #27
Du kan håbe på, at der kommer nogen forbi dette indlæg, der kender svaret, eller har mulighed for selv at teste problemet. Eller du kan undersøge, om Wannafind har nogle kode-eksempler liggende, der oploader baseret på en formular.
Avatar billede j-roar-h Nybegynder
05. december 2010 - 10:44 #28
Tak for hjælpen. Jeg har stadig ikke fået løst problemet, men må undvære denne funktion. w13 - ligger du et svar?
Avatar billede w13 Novice
05. december 2010 - 14:43 #29
Vi kan vel dele. =)
Avatar billede j-roar-h Nybegynder
05. december 2010 - 14:51 #30
Hov, de skulle kun have haft 30. håber det går
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester