Link to home
Start Free TrialLog in
Avatar of Chillipowder
Chillipowder

asked on

asp smartupload and request form for jmail not working

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

%>
Avatar of venkateshwarr
venkateshwarr

Avatar of Chillipowder

ASKER

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
Avatar of Anthony Perkins
You cannot use the Request object when uploading (BinaryRead).  Take a look at the SmartUpload for alternatives to using Request.
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
ASKER CERTIFIED SOLUTION
Avatar of Anthony Perkins
Anthony Perkins
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial