Ir para conteúdo
Fórum Script Brasil
  • 0

Upload De Arquivo E Enviar Por E-mail


PRISCILA STOCHINI

Pergunta

FORMULARIO

<!-- #include file = "funcoes_upload.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Multiplus - Softwares T&eacute;cnicos - D&uacute;vidas do SIM</title>
<style type="text/css">
<!--
.style5 {
    color: #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
}
.style7 {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
}
.style9 {font-family: Arial, Helvetica, sans-serif; font-size: 16px;}
.style10 {font-size: 12px; font-family: Arial, Helvetica, sans-serif;}
-->
</style>
</head>

<body>
<form name="sim" action="envia_BD.asp" method="post" enctype="multipart/form-data">
<table border="1" cellspacing="0" cellpadding="6" width="865" align="center" bordercolor="#999999">
  <tr>
    <td colspan="2" bgcolor="#778899"><h2 align="center" class="Estilo1 style5">Suporte por Internet Multiplus - SIM </h2></td>
  </tr>
  <tr>
    <td colspan="2"><p class="txt  style10">Os campos 
      marcados com <strong><img src="SIM/Consultas/obrigatorio.gif" width="18" height="18" align="absmiddle" /></strong> s&atilde;o obrigat&oacute;rios. </p></td>
  </tr>
  <tr>
    <td width="138" bgcolor="#CCCCCC" class="rotulo_formulario"><div align="right" class="style7">C&oacute;digo SIM </div></td>
    <td width="697"><strong>
      <input name="codigo" type="text" class="formulario" id="codigo" size="20" maxlength="8" />
      <img src="SIM/Consultas/obrigatorio.gif" width="18" height="18" align="absmiddle" /></strong></td>
  </tr>
  <tr>
    <td bgcolor="#CCCCCC" class="rotulo_formulario"><div align="right" class="style7">Email</div></td>
    <td><strong>
      <input name="email" type="text" class="formulario" id="email" size="40" />
      <img src="SIM/Consultas/obrigatorio.gif" width="18" height="18" align="absmiddle" /></strong></td>
  </tr>
  
  <tr>
    <td bgcolor="#CCCCCC" class="rotulo_formulario"><div align="right" class="style7">Vers&atilde;o Windows </div></td>
    <td><strong>
      <select name="win" id="win">
        <option value="95" selected="selected">95</option>
        <option value="98">98</option>
        <option value="2000">2000</option>
        <option value="XP">XP</option>
        <option value="ME">ME</option>
      </select>
      <img src="SIM/Consultas/obrigatorio.gif" width="18" height="18" align="absmiddle" /></strong></td>
  </tr>
  <tr>
    <td bgcolor="#CCCCCC" class="rotulo_formulario"><div align="right" class="style7">Processador</div></td>
    <td><strong>
      <input name="proc" type="text" class="formulario" id="proc" size="20" maxlength="50" />
      <img src="SIM/Consultas/obrigatorio.gif" width="18" height="18" align="absmiddle" /></strong></td>
  </tr>
  <tr>
    <td bgcolor="#CCCCCC" class="rotulo_formulario"><div align="right" class="style7">Vers&atilde;o AutoCAD</div></td>
    <td><strong>
        <select name="versaoAUTO" size="1" class="formulario" id="versaoAUTO">
          <option value="R14" selected="selected">R14</option>
          <option value="R2000">R2000</option>
          <option value="R2002">R2002</option>
          <option value="R2004">R2004</option>
          <option value="R2005">R2005</option>
          <option value="R2006">R2006</option>
          <option value="R2007">R2007</option>
          </select>
        <img src="SIM/Consultas/obrigatorio.gif" width="18" height="18" align="absmiddle" /></strong></td>
  </tr>
  <tr>
    <td bgcolor="#CCCCCC" class="rotulo_formulario style7"><div align="right">Software</div></td>
    <td><select size="1" name="Software" id="Software">
        <option selected="selected">Cype Concreto</option>
        <option>Cype Met&aacute;licas</option>
        <option>M2*Arq</option>
        <option>Arquimedes</option>
        <option>PRO-El&eacute;trica</option>
        <option>PRO-Hidr&aacute;ulica</option>
        <option>PRO-Ar Condicionado</option>
        <option>EPLANT</option>
        <option>TecnoMETAL</option>
        <option>TecnoSTEEL</option>
        <option>TecnoSOLID</option>
        <option>ArmaFACIL</option>
        <option>ArmaBLOCOS</option>
        <option>Pr&eacute; - MOLDAR</option>
        <option>Pro - ALVENARIA</option>
    </select>
      <strong><img src="SIM/Consultas/obrigatorio.gif" width="18" height="18" align="absmiddle" /></strong></td>
  </tr>
  
  <tr>
    <td bgcolor="#CCCCCC" class="rotulo_formulario"><div align="right" class="style7">Vers&atilde;o</div></td>
    <td><strong><span class="style9">
      <input name="versao" type="text" class="formulario" id="versao" size="10" maxlength="10" />
    </span><img src="SIM/Consultas/obrigatorio.gif" width="18" height="18" align="absmiddle" /></strong></td>
  </tr>
  
  <tr>
    <td bgcolor="#CCCCCC" class="rotulo_formulario"><div align="right" class="style7">Release</div></td>
    <td><strong>
      <input name="release" type="text" class="formulario" id="release" size="15" />
      <img src="SIM/Consultas/obrigatorio.gif" width="18" height="18" align="absmiddle" /></strong></td>
  </tr>
  <tr>
    <td bgcolor="#CCCCCC" class="rotulo_formulario"><div align="right" class="style7">Tipo da d&uacute;vida </div></td>
    <td><p>
        <select size="1" name="tipo" id="tipo">
          <option selected="selected">Instala&ccedil;&atilde;o</option>
          <option>Utiliza&ccedil;&atilde;o</option>
          <option>Senha</option>
          <option>Outros</option>
        </select>
        <strong><img src="SIM/Consultas/obrigatorio.gif" width="18" height="18" align="absmiddle" /></strong></p></td>
  </tr>
  <tr>
    <td bgcolor="#CCCCCC" class="rotulo_formulario"><div align="right" class="style7">D&uacute;vida</div></td>
    <td><label>
      <textarea name="duvida" cols="70" rows="5" id="duvida"></textarea>
      <strong><img src="SIM/Consultas/obrigatorio.gif" width="18" height="18" align="absmiddle" /></strong></label></td>
  </tr>
  <tr>
    <td align="right" bgcolor="#CCCCCC" class="rotulo_formulario style7"><p align="right">Anexar</p></td>
    <td><input name="arquivo" type="file" id="arquivo" size="60"/> </td>
  </tr>
</table>
<p align="center">
  <input name="Enviar" type="submit" class="formulario" value="Enviar" />
    <input name="Apagar" type="reset" class="formulario" id="Apagar" value="Apagar Dados" />
</p>
</form>
</body>
</html>
ENVIA PARA O BANCO DE DADOS
<!-- #include file = "funcoes_upload.asp" -->
<%
' Chamando Funções, que fazem o Upload funcionar
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin

' Recuperando os Dados Digitados ----------------------
Vcodigo = UploadRequest.Item("codigo").Item("Value")
Vemail = UploadRequest.Item("email").Item("Value")
Vwin = UploadRequest.Item("win").Item("Value")
Vproc = UploadRequest.Item("proc").Item("Value")
VversaoAUTO = UploadRequest.Item("versao").Item("Value")
VSoftware = UploadRequest.Item("Software").Item("Value")
Vversao = UploadRequest.Item("versao").Item("Value")
Vrelease = UploadRequest.Item("release").Item("Value")
Vtipo = UploadRequest.Item("tipo").Item("Value")
Vduvida = UploadRequest.Item("duvida").Item("Value")

' Tipo de arquivo que esta sendo enviado
tipo_arquivo = UploadRequest.Item("arquivo").Item("ContentType")

' Caminho completo dos arquivos enviados
caminho_arquivo = UploadRequest.Item("arquivo").Item("FileName")

' Nome dos arquivos enviados
nome_arquivo = Right(caminho_arquivo,Len(caminho_arquivo)-InstrRev(caminho_arquivo,"\"))

' Conteudo binario dos arquivos enviados
arquivo = UploadRequest.Item("arquivo").Item("Value")

' pasta onde as imagens serao guardadas
pasta = Server.MapPath("obras/")
nome_arquivo = "/"&nome_arquivo

' pasta + nome dos arquivos
Varquivo = "obras" + nome_arquivo

' Fazendo o Upload do arquivo selecionado
if Varquivo <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & nome_arquivo)
For i = 1 to LenB(arquivo)
MyFile.Write chr(AscB(MidB(arquivo,i,1)))
Next
MyFile.Close
end if

' Conecta-se ao Banco de Dados
url_conexao = Server.MapPath("banco.mdb")
set conexao = Server.CreateObject("ADODB.Connection")
conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao 

' cadastra os dados no banco de dados
sql = "INSERT into OBRAS(codigo, email, win, proc, versaoAUTO, software, versao, release, tipo, duvida, arquivo) values ('"&Vcodigo&"', '"&Vemail&"', '"&Vwin&"', '"&Vproc&"', '"&VversaoAUTO&"', '"&Vsoftware&"', '"&Vversao&"', '"&Vrelease&"', '"&Vtipo&"', '"&Vduvida&"', '"&Varquivo&"')"

Conexao.Execute(sql)

' Mostra Mensagem de Confirmação na Tela
Response.write "Dados Cadastrados com Sucesso!"

' Redireciona após 5 segundos
response.write "<br><br>você será redirecionado em 5 segundos..<br>"

' Redireciona para enviar email
URL = "envia.asp"
response.redirect(URL) 
%>
FUNÇÕES DE UPLOAD
<%
' Upload Sem componentes ---------------------------------------
Sub BuildUploadRequest(RequestBin)
on error resume next

PosBeg = 1
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
boundary = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
BoundaryPos = InStrB(1, RequestBin, boundary)

Do Until (BoundaryPos = InStrB(RequestBin, boundary & getByteString("--")))

Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")

Pos = InStrB(BoundaryPos, RequestBin, getByteString("Content-Disposition"))
Pos = InStrB(Pos, RequestBin, getByteString("name="))
PosBeg = Pos + 6
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
Name = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
PosFile = InStrB(BoundaryPos, RequestBin, getByteString("filename="))
PosBound = InStrB(PosEnd, RequestBin, boundary)

If PosFile <> 0 And (PosFile < PosBound) Then
PosBeg = PosFile + 10
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
FileName = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
UploadControl.Add "FileName", FileName
Pos = InStrB(PosEnd, RequestBin, getByteString("Content-Type:"))
PosBeg = Pos + 14
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
ContentType = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
UploadControl.Add "ContentType", ContentType
PosBeg = PosEnd + 4
PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
Value = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
Else
Pos = InStrB(Pos, RequestBin, getByteString(Chr(13)))
PosBeg = Pos + 4
PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
Value = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
End If

UploadControl.Add "Value", Value
UploadRequest.Add Name, UploadControl
BoundaryPos = InStrB(BoundaryPos + LenB(boundary), RequestBin, boundary)
Loop
End Sub

Function getByteString(StringStr)
For i = 1 To Len(StringStr)
Char = Mid(StringStr, i, 1)
getByteString = getByteString & ChrB(AscB(Char))
Next
End Function

Function getString(StringBin)
getString = ""
For intCount = 1 To LenB(StringBin)
getString = getString & Chr(AscB(MidB(StringBin, intCount, 1)))
Next
End Function

' Fim upload sem Componentes -----------------------------------------
%>
ENVIA EMAIL
<!-- #include file = "conecta.asp" -->
<%
'recupera os valores
Vcodigo = Request.Form("codigo")
Vemail = Request.Form("email")
Vwin = Request.Form("win")
Vproc = Request.Form("proc")
VversaoAUTO = Request.Form("versaoAUTO")
Vsoftware = Request.Form("software")
Vversao = Request.Form("versao")
Vrelease = Request.Form("release")
Vtipo = Request.Form("tipo")
Vduvida = Request.Form("duvida")
Varquivo = Request.Form("arquivo")

'Monta Mensagem
HTML = "<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML//EN"">"
HTML = HTML & "<html>"
HTML = HTML & "<head>"
HTML = HTML & "<meta http-equiv=""Content-Type""" 
HTML = HTML & "content=""text/html; charset=iso-8859-1"">" 
HTML = HTML & "<title>Contatos </title>" 
HTML = HTML & "</head>" 
HTML = HTML & "<body bgcolor=""#FFFFFF"">"
HTML = HTML & "<font size=""1"" face=""verdana"">"
HTML = HTML & "<B>DÚVIDA DO SIM PELO SITE</B><BR><HR><BR>"
HTML = HTML & "<B>CODIGO SIM : </B>" & Vcodigo & "<BR>"
HTML = HTML & "<B>EMAIL : </B>" & Vemail & "<BR>"
HTML = HTML & "<B>WINDOWS : </B>" & Vwin & "<BR>"
HTML = HTML & "<B>PROCESSADOR : </B>" & Vproc & "<BR>"
HTML = HTML & "<B>VERSÃO DO AUTO CAD: </B>" & VversaoAUTO & "<BR>"
HTML = HTML & "<B>SOFTWARE : </B>" & Vsoftware & "<BR>"
HTML = HTML & "<B>VERSÃO : </B>" & Vversao & "<BR>"
HTML = HTML & "<B>RELEASE : </B>" & Vrelease & "<BR>"
HTML = HTML & "<B>TIPO DA DUVIDA : </B>" & Vtipo & "<BR>"
HTML = HTML & "<B>DUVIDA : </B>" & Vduvida & "<BR>"
HTML = HTML & "<B>ANEXO : </B>" & Varquivo & "<BR>"
HTML = HTML & "</body>"
HTML = HTML & "</html>"

'Chamamos o componente e enviamos o email
Set myMail = CreateObject("CDONTS.NewMail") 
myMail.From = "www.cype.com.br" 
myMail.To = "teste@cype.com.br"
myMail.Subject = "DÚVIDAS DO SIM - VIA SITE"
myMail.BodyFormat = 0 
myMail.MailFormat = 0 
myMail.Body = HTML 
myMail.Send 

Set myMail = Nothing 

URL = "SIM/PRINCIPALXYZ000.htm"
response.redirect(URL) 

%>
CONECTA AO BANCO
<%

Set bco = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
bco.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("banco.mdb")

%>

Bom, agora vou tentar explicar o que eu quero...

Quero que o usuario anexe um arquivo no formulario...e após a confirmação do formulario esse arquivo e seus dados sejam enviados para um email especificos...

Eu estou conseguindo até enviar pro banco de dados, mas na hora de enviar o email com os dados é que está dando pau...o que estou fazendo de errado....

Meu problema está sendo em enviar os dados do banco para um email mesmo, acabei de testar...meus códigos estão ai quem puder me ajudar...

Editado por andreia_sp
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Priscila, é uma idéia não sei se vai funcionar:

'Chamamos o componente e enviamos o email

Set myMail = CreateObject("CDONTS.NewMail")

myMail.From = "www.cype.com.br"

myMail.To = "teste@cype.com.br"

myMail.Subject = "DÚVIDAS DO SIM - VIA SITE"

myMail.BodyFormat = 0

myMail.MailFormat = 0

If varanexo<>"" Then

else

myMail.Attachfile "varanexo

End If

myMail.Body = HTML

myMail.Send

Link para o comentário
Compartilhar em outros sites

  • 0

Dá esse erro!!!

Microsoft VBScript runtime error '800a0046'

Permission denied

/CONTROLE/envia_DUVIDA.asp, line 43


' Fazendo o Upload do arquivo selecionado
if Varquivo <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
LINE 43[color=#FF0000]Set MyFile = ScriptObject.CreateTextFile(pasta & nome_arquivo)[/color]
For i = 1 to LenB(arquivo)
MyFile.Write chr(AscB(MidB(arquivo,i,1)))
Next
MyFile.Close
end if

Link para o comentário
Compartilhar em outros sites

  • 0

Da o mesmo erro se eu não anexar nada!!!

' Tipo de arquivo que esta sendo enviado
tipo_arquivo = UploadRequest.Item("arquivo").Item("ContentType")

' Caminho completo dos arquivos enviados
caminho_arquivo = UploadRequest.Item("arquivo").Item("FileName")

' Nome dos arquivos enviados
nome_arquivo = Right(caminho_arquivo,Len(caminho_arquivo)-InstrRev(caminho_arquivo,"\"))

' Conteudo binario dos arquivos enviados
arquivo = UploadRequest.Item("arquivo").Item("Value")

[color=#FF0000]'pasta onde as imagens serao guardadas
pasta = Server.MapPath("obras/")
nome_arquivo = "/"&nome_arquivo

' pasta + nome dos arquivos
Varquivo = "obras" + nome_arquivo

' Fazendo o Upload do arquivo selecionado
if Varquivo <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & nome_arquivo)
For i = 1 to LenB(arquivo)
MyFile.Write chr(AscB(MidB(arquivo,i,1)))
Next
MyFile.Close
end if[/color]

Será que se eu tirar essa parte vermelha funciona do mesmo jeito...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...