Avatar billede cholm Nybegynder
21. september 2004 - 12:36 Der er 12 kommentarer og
1 løsning

Ændring af upload-komponent i formular

Hej,

Jeg fik for en uges tid siden glimrende hjælp til nedenstående formular. Nu vil jeg så høre om der er nogen der kan ændre forumlaren således, at den som upload-komponent bruger ASP Smart Upload (http://www.aspsmart.com/) i stedet for ASP Upload (http://www.aspupload.com/)

Koden kan ses her:

<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then

  Set Upload = Server.CreateObject("Persits.Upload.1")
 
  'ret brugernavn til dit brugernavn hos azero:
  Count = Upload.Save ("d:\Webfiler\test\db\")
 
  if Count>0 then
    set file1=Upload.Files("file1")
  end if
 
  navn = Upload.form("navn")
  email = Upload.form("email")

  Set JMail          = Server.CreateObject("JMail.SMTPMail")
  'REt DOMÆNE til dit domæne navn:
  JMail.ServerAddress = "post.tele.dk"
  JMail.Sender        = "post@test.dk"
  JMail.Subject      = "Måske en fil til dig"
  JMail.AddRecipient  "post@test.dk"

  JMail.Body = "En mail fra : " & navn & " og brugeren har denne email adresse : " & email
 
  if Count>0 then
    JMail.AddAttachment (file1.path)
  end if
  JMail.Execute
 
  Set JMail = Nothing
 
  if count>0 then
    Upload.DeleteFile (file1.path)
  end if
 
  Set file1=nothing
  set upload=nothing
 
  Response.Write "Mail sendt."
end if
%>
<html>
<head></head>
<body>
<form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="POST" ENCTYPE="multipart/form-data">
<br>Navn: <input type="text" name="navn" size="20">
<br>Fra (email): <input type="text" name="email" size="20">
<br>Fil: <input type="file" name="file1" size="20">
<br><input type="submit" name="send" value="send">
</form>
</body>
</html>

På forhånd tak.

/cholm
Avatar billede eagleeye Praktikant
21. september 2004 - 12:51 #1
Prøv sådan her, jeg ved ikke helt om .filepathname bliver opdateret efter save, men det tror jeg den gør eller må det laves lidt om:


<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then

  Set Upload = Server.CreateObject("aspSmartUpload.SmartUpload")

  Upload.Upload

  'ret brugernavn til dit brugernavn hos azero:
  Count = Upload.Save ("d:\Webfiler\test\db\")
 
  if Count>0 then
    set file1=Upload.Files("file1")
  end if
 
  navn = Upload.form("navn")
  email = Upload.form("email")

  Set JMail          = Server.CreateObject("JMail.SMTPMail")
  'REt DOMÆNE til dit domæne navn:
  JMail.ServerAddress = "post.tele.dk"
  JMail.Sender        = "post@test.dk"
  JMail.Subject      = "Måske en fil til dig"
  JMail.AddRecipient  "post@test.dk"

  JMail.Body = "En mail fra : " & navn & " og brugeren har denne email adresse : " & email
 
  if Count>0 then
    JMail.AddAttachment (file1.FilePathName)
  end if
  JMail.Execute
 
  Set JMail = Nothing
 
  if count>0 then
    'ASPSmartUpload kan ikke slette filen selv så det må FSO gøre:
    'Upload.DeleteFile (file1.path)
    Set fs=Server.CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(file1.FilePathName)
    set fs=nothing
  end if
 
  Set file1=nothing
  set upload=nothing
 
  Response.Write "Mail sendt."
end if
%>
<html>
<head></head>
<body>
<form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="POST" ENCTYPE="multipart/form-data">
<br>Navn: <input type="text" name="navn" size="20">
<br>Fra (email): <input type="text" name="email" size="20">
<br>Fil: <input type="file" name="file1" size="20">
<br><input type="submit" name="send" value="send">
</form>
</body>
</html>
Avatar billede cholm Nybegynder
21. september 2004 - 12:57 #2
Takker - Jeg prøver det lige af i aften.

Jeg fandt jo lige pludselig ud af, at den ASP Upload jeg havde hentet, kun var gratis i 30 dage. Den koster alligevel 149 $ og den anden er jo gratis.

/cholm
Avatar billede cholm Nybegynder
22. september 2004 - 09:34 #3
Den giver mig følgende fejl:

Server object error 'ASP 0177 : 800401f3'

Server.CreateObject Failed

/smartupload.asp, line 15

Invalid ProgID. For additional information specific to this message please visit the Microsoft Online Support site located at: http://www.microsoft.com/contentredirect.asp.

Jeg kan også se at ASP Smart Upload ikke er det decideret program som skal installeres ligesom ASP Upload. Filerne skal vel så ligge et bestemt sted, eller hvordan er det med det ?

/cholm
Avatar billede eagleeye Praktikant
22. september 2004 - 13:58 #4
Ja det skal installeres prøv at kigge denne siden igennem for hvordan man insallere det:
http://www.aspsmart.com/aspSmartUpload/
Avatar billede eagleeye Praktikant
22. september 2004 - 13:58 #5
Avatar billede cholm Nybegynder
23. september 2004 - 10:52 #6
Så virker det hvis jeg bruger den PC som agerer server. Bruger jeg en anden PC får jeg følgende fejl:

jmail.SMTPMail error '8000ffff'

Cannot open file E:\Documents and Settings\Skrivebord\bom2.jpg

/smartupload.asp, line 39

Den sti som ses ovenfor er stien til det billede jeg prøver at uploade.

/cholm
Avatar billede eagleeye Praktikant
23. september 2004 - 16:56 #7
Ok, det var så det med at den måske ikke opdatere fil stien korrelt så prøv sådan her:



<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then

  Set Upload = Server.CreateObject("aspSmartUpload.SmartUpload")

  Upload.Upload

  'ret brugernavn til dit brugernavn hos azero:
  sti = "d:\Webfiler\test\db\"
  Count = Upload.Save (sti)
 
  if Count>0 then
    set file1=Upload.Files("file1")
  end if
 
  navn = Upload.form("navn")
  email = Upload.form("email")

  Set JMail          = Server.CreateObject("JMail.SMTPMail")
  'REt DOMÆNE til dit domæne navn:
  JMail.ServerAddress = "post.tele.dk"
  JMail.Sender        = "post@test.dk"
  JMail.Subject      = "Måske en fil til dig"
  JMail.AddRecipient  "post@test.dk"

  JMail.Body = "En mail fra : " & navn & " og brugeren har denne email adresse : " & email
 
  if Count>0 then
    JMail.AddAttachment (sti & file1.Name)
  end if
  JMail.Execute
 
  Set JMail = Nothing
 
  if count>0 then
    'ASPSmartUpload kan ikke slette filen selv så det må FSO gøre:
    'Upload.DeleteFile (file1.path)
    Set fs=Server.CreateObject("Scripting.FileSystemObject")
    fs.DeleteFile(sti&file1.FileName)
    set fs=nothing
  end if
 
  Set file1=nothing
  set upload=nothing
 
  Response.Write "Mail sendt."
end if
%>
<html>
<head></head>
<body>
<form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="POST" ENCTYPE="multipart/form-data">
<br>Navn: <input type="text" name="navn" size="20">
<br>Fra (email): <input type="text" name="email" size="20">
<br>Fil: <input type="file" name="file1" size="20">
<br><input type="submit" name="send" value="send">
</form>
</body>
</html>
Avatar billede eagleeye Praktikant
23. september 2004 - 16:57 #8
hov.  Denne linje:
    JMail.AddAttachment (sti & file1.Name)

Skal vist lige være:
    JMail.AddAttachment (sti & file1.FileName)
Avatar billede cholm Nybegynder
23. september 2004 - 19:51 #9
Så giver den følgende:

aspSmartUpload.File error '80040460'

Unable to save file (Error 1120)

/smartupload.asp, line 21

/cholm
Avatar billede eagleeye Praktikant
23. september 2004 - 19:59 #10
Det tyder på der ikke er de rigtige rettigheder til at gemme filen i den folder filen gemmes i?
Det lyder lidt underlidt det ikke virker nu, hvis det virkede før?
Avatar billede eagleeye Praktikant
23. september 2004 - 20:00 #11
og dette er den rigtige sti:?
  sti = "d:\Webfiler\test\db\"
Avatar billede cholm Nybegynder
23. september 2004 - 20:54 #12
Jeg havde godt nok rettet stien, men havde lavet en tastefejl. Det beklager jeg.

Endnu engang mange tak for hjælpen. Du har godt nok styr på tingene...:-)

Kommer du lige med et svar så jeg kan uddele points ?

/cholm
Avatar billede eagleeye Praktikant
23. september 2004 - 20:57 #13
Ok, her kommer et svar :)
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