Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Maux

puxando valor de formulario

Recommended Posts

eae galera...é o seguinte.. tenho um form com input de file e text..eu faço o upload normal das imagens, mas não to conceguindo resgatar o valor dos text....ja tentei request.form e request..nao adinata... fla que não é possível chamar o request.form antes de num sei oq BINARY...o que eu faço???acho eu que pela logica teria que resgatar em valor binario e depois converter para string...mas como???espero que possam me ajudar...abrass

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta ai o codigo... vo mostrar onde esta o erro:

<!--#include file="conexao.asp"--><%if session("Login") = "" and session("Senha") = "" thenresponse.Redirect("login.asp")elseact1 = request("act1")if act = "enviarpara1" thenon error resume nextemail = request("email")%><form action="?pagina=sendemail&act=up_ok" method="post" enctype="multipart/form-data" name="upload"><div align="center"><strong>Configuração de email</strong><br><br><table><Tr><Td>Insira o seu email:</Td><TD><input type="text" name="myemail"></TD></Tr><tr><td>Insira a imagem:</td><TD><input type="file" name="img"></TD></tr><tr><TD>Email de destinatário:</TD><td><input type="text" name="email" value="<%=email%>"></td></tr><tr><Td>Insira o assunto:</Td><Td><input type="text" name="assunto"></Td></tr><tr><Td colspan="2"><div align="center">  <input type="submit" value="Enviar"></div></Td></Tr></table></div></form><%end ifif act = "up_ok" then								  '*************************AKI TA O ERRO*********************'session("assunto") = request.form("assunto")session("myemail") = request.form("myemail")session("email") = request.form("email")								 '*************************LA IMBAIXO VO MOSTRA O ERRO Q TA DANDO'	Dim Contador, Tamanho	Dim ConteudoBinario, ConteudoTexto	Dim Delimitador, Posicao1, Posicao2	Dim ArquivoNome, ArquivoConteudo, PastaDestino	Dim objFSO, objArquivo 				PastaDestino = "C:\Documents and Settings\Administrador\Meus documentos\sites\maladireta\"				'***** Determina o Tamanho do Conteúdo *****	Tamanho = Request.TotalBytes	'***** Obtém o Conteúdo no Formato Binário *****	ConteudoBinario = Request.BinaryRead(Tamanho)	'***** Transforma o Conteúdo Binário em String *****	For Contador = 1 To Tamanho		ConteudoTexto = ConteudoTexto & Chr(AscB(MidB(ConteudoBinario, Contador, 1)))	Next	'***** Determina o Delimitador de Campos *****	Delimitador = Left(ConteudoTexto,InStr(ConteudoTexto, vbCrLf)-1)	'***** Percore a String Procurando os Campos   *****	'***** Identifica os Arquivos e Grava no Disco *****	Set objFSO = Server.CreateObject("Scripting.FileSystemObject")	 	Posicao1 = InStr(ConteudoTexto, Delimitador) + Len(Delimitador)	Do While True		ArquivoNome = ""		Posicao1 = InStr(Posicao1, ConteudoTexto, "filename=")		If Posicao1 = 0 Then			Exit Do		Else			'***** Determina o Nome do Arquivo *****			Posicao1 = Posicao1 + 10			Posicao2 = InStr(Posicao1, ConteudoTexto, """")			For Contador = Posicao2-1 To Posicao1 Step -1				If Mid(ConteudoTexto, Contador, 1) <> "\" Then					ArquivoNome = Mid(ConteudoTexto, Contador, 1) & ArquivoNome				Else					Exit For				End If			Next						'***** Determina o Conteúdo do Arquivo *****			Posicao1 = InStr(Posicao1, ConteudoTexto, vbCrLf & vbCrLf) + 4			Posicao2 = InStr(Posicao1, ConteudoTexto, Delimitador) - 2			ArquivoConteudo = Mid(ConteudoTexto, Posicao1, Posicao2-Posicao1+1)					'***** Grava o Arquivo *****			If ArquivoNome <> "" Then				Set objArquivo = objFSO.CreateTextFile(PastaDestino & ArquivoNome, True) 				objArquivo.WriteLine ArquivoConteudo	 				objArquivo.Close 				on error resume nextset env = server.CreateObject("CDONTS.Newemail")env.to = session("email")env.from = session("myemail")env.subject = session("assunto")env.body = "<div align=center><img src=" & SaveFiles & "></div>"env.importance = 1env.bodyformat = 0env.mailformat = 0env.sendif err.number > 0 thenresponse.write "<center><font color='red'><b>Erro no servidor</b></font></center>"else%><script>alert("Email enviado com sucesso!")window.location.href "index.asp?pagina=gerenciador&act=listar"</script><%end if				Set objArquivo = Nothing			End If		End If	Loop	Set objFSO = Nothing elseif act = "forall" then%><form action="?pagina=sendemail&act=up_okall" method="post" enctype="multipart/form-data" name="upload"><div align="center"><strong>Configuração de email</strong><br><font size="2">Enviar para todos email registrados</font><br><table><Tr><Td>Insira o seu email:</Td><TD><input type="text" name="myemail"></TD></Tr><tr><td>Insira a imagem:</td><TD><input type="file" name="img"></TD></tr><tr><Td>Insira o assunto:</Td><Td><input type="text" name="assunto"></Td></tr><tr><Td colspan="2"><div align="center">  <input type="submit" value="Enviar"></div></Td></Tr></table></div></form><%elseif act = "up_okall" thensession("email") = request.form("email")session("myemail") = request.form("myemail")session("assunto") = request.form("assunto")on error resume next				PastaDestino = "C:\Documents and Settings\Administrador\Meus documentos\sites\maladireta\"				'***** Determina o Tamanho do Conteúdo *****	Tamanho = Request.TotalBytes	'***** Obtém o Conteúdo no Formato Binário *****	ConteudoBinario = Request.BinaryRead(Tamanho)	'***** Transforma o Conteúdo Binário em String *****	For Contador = 1 To Tamanho		ConteudoTexto = ConteudoTexto & Chr(AscB(MidB(ConteudoBinario, Contador, 1)))	Next	'***** Determina o Delimitador de Campos *****	Delimitador = Left(ConteudoTexto,InStr(ConteudoTexto, vbCrLf)-1)	'***** Percore a String Procurando os Campos   *****	'***** Identifica os Arquivos e Grava no Disco *****	Set objFSO = Server.CreateObject("Scripting.FileSystemObject")	 	Posicao1 = InStr(ConteudoTexto, Delimitador) + Len(Delimitador)	Do While True		ArquivoNome = ""		Posicao1 = InStr(Posicao1, ConteudoTexto, "filename=")		If Posicao1 = 0 Then			Exit Do		Else			'***** Determina o Nome do Arquivo *****			Posicao1 = Posicao1 + 10			Posicao2 = InStr(Posicao1, ConteudoTexto, """")			For Contador = Posicao2-1 To Posicao1 Step -1				If Mid(ConteudoTexto, Contador, 1) <> "\" Then					ArquivoNome = Mid(ConteudoTexto, Contador, 1) & ArquivoNome				Else					Exit For				End If			Next						'***** Determina o Conteúdo do Arquivo *****			Posicao1 = InStr(Posicao1, ConteudoTexto, vbCrLf & vbCrLf) + 4			Posicao2 = InStr(Posicao1, ConteudoTexto, Delimitador) - 2			ArquivoConteudo = Mid(ConteudoTexto, Posicao1, Posicao2-Posicao1+1)					'***** Grava o Arquivo *****			If ArquivoNome <> "" Then				Set objArquivo = objFSO.CreateTextFile(PastaDestino & ArquivoNome, True) 				objArquivo.WriteLine ArquivoConteudo	 				objArquivo.Close 			 '*********Envia o email**********'set env = server.CreateObject("CDONTS.Newemail")env.to = session("email")env.from = session("myemail")env.subject = session("assunto")env.body = "<div align=center><img src=" & ArquivoNome  & "></div>"env.importance = 1env.bodyformat = 0env.mailformat = 0env.sendif err.number > 0 thenresponse.write "<div align=center><img src="& ArquivoNome  & "></div>"response.write "<center><font color='red'><b>Erro no servidor</b></font></center>"else%><script>alert("Email enviado com sucesso!")window.location.href "index.asp?pagina=gerenciador&act=listar"</script><%end if				Set objArquivo = Nothing			End If		End If	Loop	Set objFSO = Nothingend if%><%end if%>

 

O ERRO AKI:

Tipo de erro:Objeto Request, ASP 0206 (0x80004005)Não é possível chamar BinaryRead após usar a coleção Request.Form./mala/email.asp, line 38

nao concigo tira esse trem http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow galera da uma mao ai.. to precisando disso mtooo urgente, vcs não tem noção!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow galera da uma mao ai.. to precisando disso mtooo urgente, vcs não tem noção!!!

MauxQuando você usa um formulário com enctype="multipart/form-data" não é possível recuperar seus elementos através do Request.Form.Percebi que você não está utilizando nenhum objeto para fazer o Upload, e nesse caso não existe nativa uma função que recupera os campos do formulário direto da forma binária, já que não vai funcionar o Request.Form. Se você procurar no Google por Upload sem componente, ASP, você vai encontrar alguns exemplos de funções criadas pra resolver esse problema, e ler os elementos na forma binária.Isso acontece pq quando você utiliza enctype="multipart/form-data" os dados do formulário são transformados para o formato binário... e só podem ser recuperados nesse formato. É um formato que o Request.Form não entende.Caso você possa utilizar algum objeto, como ASPUpload, Dundas Upload, o objeto vai ter um método próprio para recuperar os elementos do formulário.Espero ter ajudado!Abraços!Cassiano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ajudou sim.. mais na verdade esse codigo faz upload através de fso..eu só preciso saber como recuperar os strings.... eu sei que tem como... ja vi em um codigo só não lembro qual...me ajuda ai va por favor...preciso disso mtooooo urgente...vlw...

Compartilhar este post


Link para o post
Compartilhar em outros sites

se for para recuperar o input text e você estiver usando o upload sem componentes que é fso é assim:

texto = UploadRequest.Item("nomeinput").Item("Value")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Objeto necessário: 'UploadRequest'deu erro ai... tenho q cria o objeto como o q???

Compartilhar este post


Link para o post
Compartilhar em outros sites
' Chamando Funções, que fazem o Upload funcionarbyteCount = Request.TotalBytesRequestBin = Request.BinaryRead(byteCount)Set UploadRequest = CreateObject("Scripting.Dictionary")BuildUploadRequest RequestBintexto = UploadRequest.Item("nomeinput").Item("Value")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro de tempo de execução do Microsoft VBScript (0x800A000D)

Tipos incompatíveis: 'BuildUploadRequest'

/mala/email.asp, line 32

 

otro erro.. e nessa linha ta assim:

 

Set UploadRequest = CreateObject("Scripting.Dictionary")BuildUploadRequest RequestBin

q sako esse negocio eim :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.