Ir para conteúdo

POWERED BY:

Arquivado

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

Leonardo Bemfica

[Resolvido] Upload sem componente inserindo em db

Recommended Posts

Boa noite meus amigos, mais uma vez eu venho pedir socorro.

 

Tenho um codigo de upload sem componente, que envia corretamente mais de um arquivo.

 

O codigo é:

 

<%@ Language=VBScript %> 
<% 
Dim Contador, Tamanho 
Dim ConteudoBinario, ConteudoTexto 
Dim Delimitador, Posicao1, Posicao2 
Dim ArquivoNome, ArquivoConteudo, PastaDestino 
Dim objFSO, objArquivo 
 
'PastaDestino = Server.MapPath("../../galeria-de-fotos/temp") 
PastaDestino = "C:\inetpub\wwwroot\jornalaraxa.com.br\noticias\photo_thumbs" 

 
'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 
 	
 	Response.write "<font face='Verdana' color='#000000' size='2'>Arquivo enviado com sucesso!<br>Copie o texto abaixo e cole no campo de foto.</font><br><br><font face='Verdana' color='#FF0000' size='2'><strong> " & _ 
 	ArquivoNome & "</strong></font><br>" 
 	Set objArquivo = nothing 
 end if 
end if 
Loop 
Set objFSO = nothing 
%>

Porem eu não to conseguindo fazer um insert em uma base de dados access com os valores capturados no formulario o codigo do formulário é:

 

<!--#include file="./conectar.asp"-->
<% AbreConexao
Session.LCID=1046
cod = Request.QueryString("ID")
Set rsAdm = Conexao.Execute("SELECT *FROM administrativo WHERE id_adm = "&cod&"")
Set rsUpload = objConexao.Execute("Select *From noticias Order By cod_materia Desc")
%>
<html>
<head>
<title>|| Área Administrativa - www.jornalaraxa.com.br ||</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../css/css.css" rel="stylesheet" type="text/css"/>
<link href="../../css/layout.css" rel="stylesheet" type="text/css"/>
<link rel="Shortcut icon" href="http://localhost/favicon.ico">
<link rel="icon" href="http://localhost/favicon.ico">
<script type="text/javascript" src="lib/java-tools.js"></script>
<script type="text/javascript" src="lib/valida-formulario.js"></script>
</head>
 
<body>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
 <tr>
	<td><form action="upload.asp" method="post" enctype="multipart/form-data">
	 <table width="100%" border="0" cellspacing="0" cellpadding="0">
 	<tr>
 	<td><div align="center" style="margin:10px;" class="font-titulovm">UPLOAD DE ARQUIVO </div></td>
 	</tr>
 	<tr>
 	<td><div align="left" style="margin:5px;" class="font-normal"><strong>Anexar imagem:</strong> </div></td>
 	</tr>
 	<tr>
 	<td><div align="left" style="margin:5px;">
 	<input name="txtArquivo1" type="file" class="input-variados" size="40">
 	<input name="txtArquivo2" type="file" class="input-variados" size="40">
 	<input name="txtArquivo3" type="file" class="input-variados" size="40">
 	<input name="txtArquivo4" type="file" class="input-variados" size="40">
 	<input name="txtArquivo5" type="file" class="input-variados" size="40">
 	<input name="cod_materia" type="hidden" id="cod_materia" value="<%=rsUpload("cod_materia")%>" />
 	</div></td>
 	</tr>
 	<tr>
 	<td><div align="center" style="margin:5px;">
 	<input name="cmdEnviar" type="submit" class="input-variadosbnt" value="Enviar">
 	</div></td>
 	</tr>
 	</table>
	
 	</form></td>
 </tr>
</table>
</body> 
</html>
<% FechaConexao %>

O cod_materia deve ser inserido junto para poder relacionar a materia com as fotos.

 

Vocês podem me sugerir algo que implemente este upload com este insert?

 

Desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não esta executando o INSERT, esta fazendo apenas um SELECT, exemplo

 

"INSERT INTO lista (lista_prodID,lista_quant) Values ('"&request.form("produtos")&"','"&request.form("qtd_produtos")&"')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xan, o problema é o seguinte, no formulário os campos quando é solicitando pelo request.form insere caminho do meu C:/ mais o arquivo... exemplo: C:/Pasta/foto.jpg

 

Eu queria que mostrase apenas o foto.jpg para inserir no db.

 

Tem como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa essa função

 

Public function GetFilename(ByVal strGetPath)
    Dim nPos, strFilename
    Dim strDir
    strFilename = ""
        strGetPath = cstr(strGetPath)
        if Not len(strGetPath) = 0 Then
            nPos = InStrRev(strGetPath, "\", Len(strGetPath))
            if nPos > 0 Then
                strFilename = Right(strGetPath, Len(strGetPath) - nPos)
                'Response.Write strFilename
            End if
            nPos = InstrRev(strGetPath, "\", Len(strGetPath) - nPos)
            if nPos > 0 Then
                strDir = Right(strGetPath, Len(strGetPath) - nPos)
            Else
                strDir = ""
            End if 
        End if
        GetFilename = strFilename
    End function

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.