Ir para conteúdo

POWERED BY:

Arquivado

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

WellingtonSG

Cadastro no banco em branco

Recommended Posts

Olá pessoal,

 

Estou tentando inserir dados no banco SQL Server, porém os campos Tag e Resumo ficam em branco, o nome do arquivo e o caminho cadastra certo:

 

 

index.asp:

 

<form action="upload.asp" method="post" enctype="multipart/form-data" onSubmit="return ValidaPagina(this);" name="billform">
 Localizar os arquivos:<br />
 <input name="txtArquivo1" type="file" id="txtArquivo1" size="30" />
 <br />
 <input name="txtArquivo2" type="file" id="txtArquivo2" size="30" />
 <br />
 <div id="divresumo">
 Resumo do Conteúdo:
 <br />
 <textarea name="Resumo" id="Resumo" cols="30" rows="4"></textarea>
 </div>
 <div id="divtags">
 Tags (Separado por Vírgula)<br />
 <textarea name="Tag" id="Tag" cols="30" rows="4"></textarea>
 </div>
 <p> </p>
 <p> </p>
 <p> </p>
 <p>
 <div id="divbtnupload">
	<input type="submit" value="Enviar" />
	</div>
 </p>
</form>

 

upload.asp

<!--O formulário estará chamando a página upload.asp, especificada no atributo action do elemento FORM.
Segue abaixo o código da página upload.asp. -->
<%@ Language=VBScript %>
<!--#include file="conexao.asp"-->

<%
Dim Contador, Tamanho
Dim ConteudoBinario, ConteudoTexto
Dim Delimitador, Posicao1, Posicao2
Dim ArquivoNome, ArquivoConteudo, PastaDestino
Dim objFSO, objArquivo

PastaDestino = Server.MapPath("temp\upload")

var_TAG = Request("Tag")
var_RESUMO = Request("Resumo")

'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)
	
'Percorre a String procurando os campos
'identifica os arquivo e grava no disco
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Posicao1 = InStr(ConteudoTexto, Delimitador) + Len(Delimitar)

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
	 	 call AbreBanco()
	 SQL = 	"SET DATEFORMAT dmy INSERT INTO Upload (" & _
	 		"NomeDoArquivo, " &_
			"Tag ,"& _
			"Resumo ,"& _
			"Caminho " & _
			") VALUES (" & _
			"'" & ArquivoNome & "'," & _
			"'" & var_TAG & "'," & _
			"'" & var_RESUMO & "'," & _
			"'" & PastaDestino & "\" & ArquivoNome & "')"
	 conexao.Execute(SQL),,128
	 Call fechabanco()

	 Response.Write("Gravado com sucesso! - "& var_Tag)

	 Response.write "Arquivo " & PastaDestino & "\" & _
	 ArquivoNome & " gravado com sucesso!<br>"
	 Set objArquivo = nothing
 end if
end if
Loop
Set objFSO = nothing


%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando se usa o enctype form-data, a propriedade Request não funciona..

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que o Dark quis dizer é que a propriedade "Request" como abaixo não funciona:

var_TAG = Request("Tag")

 

Faça um teste simples, dê um response.write para ver se está chegando os valores...

 

Não sei o seu caso, mas eu utilizo componentes e recupero dessa forma:

Set upl = Server.CreateObject("COMPONENTE")

upl.Form("campo")

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente usar o Request.BinaryRead

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.