Solved

asp smartupload and request form for jmail not working

Posted on 2004-04-18
8
743 Views
Last Modified: 2012-05-04
hello,

i have a form where the user can enter some values and upload a file. After the form is sent i need the following things to be done:

upload the attached file
gather the informations from the form
build an email with jmail 3.7 and send the informations and the uploaded file to a specific mail-adress
delete the uploaded file

My problem is, that when i want to gather the informations from the form with a request.form, that i get the following errror

BinaryRead could not be called
/anfrage_ersatz_danke.asp, line 51
After using the collection Request.Form you cant call the BinaryRead.

here is the source:

<%
firma=Request.form("firma")
ansprech=Request.form("ansprech")
strasse=Request.form("strasse")
plz=Request.form("plz")
ort=Request.form("ort")
tel=Request.form("tel")
fax=Request.form("fax")
email1=Request.form("email1")
mothersteller=Request.form("mothersteller")
motnr=Request.form("motnr")
mottyp=Request.form("mottyp")
klass=Request.form("klass")
schiffsherst=Request.form("schiffsherst")
teileliste=Request.form("teileliste")
lieferbed=Request.form("lieferbed")
email="anfrage-Ersatzteile@xx.de"

msg = "Firma: " & firma
msg = msg & "Ansprechpartner: " & ansprech & vbcrlf
msg = msg & "Strasse: " & Strasse & vbcrlf
msg = msg & "Plz / Ort: " & plz & " " & ort & vbcrlf
msg = msg & "Telefon: " & telefon & vbcrlf
msg = msg & "Fax: " & fax & vbcrlf
msg = msg & "E-Mail: " & email1 & vbcrlf
msg = msg & "Motorenhersteller : " & mothersteller & vbcrlf
msg = msg & "Motorennummer: " & motnr & vbcrlf
msg = msg & "Mottyp: " & mottyp & vbcrlf
msg = msg & "Motorenhersteller : " & mothersteller & vbcrlf
msg = msg & "Klassifizierung: " & klass & vbcrlf
msg = msg & "Schiffshersteller: " & schiffsherst & vbcrlf
msg = msg & "Angefragte Teile : " & teileliste & vbcrlf
msg = msg & "Lieferbedingungen : " & lieferbed & vbcrlf
%>
<%
'  Variables
'  *********
   Dim mySmartUpload
   Dim file
   Dim intCount
   dim FileName
   intCount=0
       
'  Object creation
'  ***************
   Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
   mySmartUpload.Upload

'  Select each file
'  ****************
   For each file In mySmartUpload.Files
   '  Only if the file exist
   '  **********************
      If not file.IsMissing Then
      '  Save the files with his original names in a virtual path of the web server
      '  **************************************************************************
         file.SaveAs("/~Upload/" & file.FileName)

      '  Display the properties of the current file
      '  ******************************************
         Response.Write("Name = " & file.Name & "<BR>")
         Response.Write("Size = " & file.Size & "<BR>")
         Response.Write("FileName = " & file.FileName & "<BR>")
         Response.Write("FileExt = " & file.FileExt & "<BR>")
         Response.Write("FilePathName = " & file.FilePathName & "<BR>")
         Response.Write("ContentType = " & file.ContentType & "<BR>")
         Response.Write("ContentDisp = " & file.ContentDisp & "<BR>")
         Response.Write("TypeMIME = " & file.TypeMIME & "<BR>")
         Response.Write("SubTypeMIME = " & file.SubTypeMIME & "<BR>")
             FileName = File.FileName
         intCount = intCount + 1
      End If
   Next
   
'  Display the number of files which could be uploaded
'  ***************************************************
'   Response.Write("<BR>" & mySmartUpload.Files.Count & " files could be uploaded.<BR>")

'  Display the number of files uploaded
'  ************************************
'   Response.Write(intCount & " file(s) uploaded.<BR>")
%>
<%
 Set JMail = Server.CreateObject("JMail.SMTPMail")
 JMail.ServerAddress = "xxx.de"
 JMail.Sender = email
 JMail.Subject = "What"
 JMail.AddRecipient "info@nn.de"
 JMail.AddAttachment Server.MapPath("/~Upload/" & FileName)
 JMail.Body = msg
 JMail.Execute
 
' Call function
Call DeleteFile(Server.MapPath("/~Upload/" & FileName))
%>  
<%
Function DeleteFile(strPathToFile)
   Dim objFSO
   Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

   If (objFSO.FileExists(strPathToFile)) = true Then
      objFSO.DeleteFile(strPathToFile)
   End If

   Set objFSO = Nothing
   Set JMail = Nothing

End Function

%>
0
Comment
Question by:Chillipowder
  • 2
  • 2
8 Comments
 
LVL 12

Expert Comment

by:venkateshwarr
ID: 10853403
0
 

Author Comment

by:Chillipowder
ID: 10854479
i am not using pure-upload. I know this extension and i use it. But in this case i use smartupload. Do you think, that the solution is in this case still valid.

Thanks
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 10855294
You cannot use the Request object when uploading (BinaryRead).  Take a look at the SmartUpload for alternatives to using Request.
0
 

Author Comment

by:Chillipowder
ID: 10858113
Hello,
i aleady had a look at the samples from their website. But i am not an expert and i still dont know how to write the script. Can someone write me the script for just two form fields, so that i understand how to write the whole script
0
 
LVL 75

Accepted Solution

by:
Anthony Perkins earned 250 total points
ID: 10859842
I have never used aspSmartUpload, but the sample here should get you going:
http://www.aspsmart.com/scripts/aspSmartUpload/publigen/content/templates/show.asp?P=258&L=EN#5

You need to replace your Request object with aspSmartUpload.Form collection.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
Attackers love to prey on accounts that have privileges. Reducing privileged accounts and protecting privileged accounts therefore is paramount. Users, groups, and service accounts need to be protected to help protect the entire Active Directory …

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question