Ir para conteúdo

POWERED BY:

Arquivado

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

Ricardo Galvão

Após o upload da imagem, como salvar no banco ???

Recommended Posts

Tenho dois formulários em uma pagina asp em um faço o upload da imagem e redireciono com redirect para a mesma página para terminar de preencher o formulario, como fazer para conseguir salvar tanto o caminho da foto como o resto das infos do formulario no banco ????

estou em pânico

upload.asp

<% Class cla_Upload Dim myRequest,myRequestFiles,tmpRequestFiles dim crlf,NomeDim bJaProcessou Public property get Variaveis(sVariavel) on error resume next if bJaProcessou then Variaveis=myRequest(sVariavel) end if end property 'Esta função recupera o nome de um campo Public Function GetFieldName(infoStr) sPos = InStr(infoStr, "name=") EndPos = InStr(sPos + 6, infoStr, Chr(34) & ";") If EndPos = 0 Then EndPos = inStr(sPos + 6, infoStr, Chr(34)) End If GetFieldName = Mid(infoStr, sPos + 6, endPos - (sPos + 6)) End Function 'Esta função recupera o filename de um arquivo Private Function GetFileName(infoStr) sPos = InStr(infoStr, "filename=") EndPos = InStr(infoStr, Chr(34) & CrLf) GetFileName = Mid(infoStr, sPos + 10, EndPos - (sPos + 10)) End Function 'Esta função recupera o MIME type de um arquivo Private Function GetFileType(infoStr) sPos = InStr(infoStr, "Content-Type: ") GetFileType = Mid(infoStr, sPos + 14) End Function Public Sub ProcessaUpload() if bJaProcessou then 'erro exit sub end if 'Altera o tempo de processamento para arquivos grandes Server.ScriptTimeout = 5400 Const ForWriting = 2 Const TristateTrue = -1 'Recupera os dados postados na forma binária PostData = "" Dim biData biData = Request.BinaryRead(Request.TotalBytes) 'Transforma os dados da forma binária para algo mais legível For nIndex = 1 to LenB(biData) PostData = PostData & Chr(AscB(MidB(biData,nIndex,1))) Next 'Recupera o content type para determinar o encoding dos dados ContentType = Request.ServerVariables(_"HTTP_CONTENT_TYPE") ctArray = Split(ContentType, ";") 'Se o encoding for '"multipart/form-data", então foi feito upload, damos sequencia ao processamento If Trim(ctArray(0)) = "multipart/form-data" Then ErrMsg = "" ' Obtem o boundery, o separador de variáveis utilizado na transmissão bArray = Split(Trim(ctArray(1)), "=") Boundary = Trim(bArray(1)) 'Usa o Boundary para separar todas as variáveis FormData = Split(PostData, Boundary) 'Criação de 3 scripting.dictionary que guardarão as informações Set myRequest = CreateObject("Scripting.Dictionary") set myRequestFiles=CreateObject("Scripting.Dictionary") FileCount = 1 For x = 0 to UBound(FormData) set tmpRequestFiles=CreateObject("Scripting.Dictionary") 'Faz a localização de dois caracteres crlf que 'Marcam o fim dos metadados do campo e inicio dos dados propriamente InfoEnd = InStr(FormData(x), CrLf & CrLf) If InfoEnd > 0 Then 'Pega as informações sobre o campo varInfo = Mid(FormData(x), 3, InfoEnd - 3) 'Pega o valor do campo, evitando os 2 crlf no inicio 'e o crlf que encontra-se no final varValue = Mid(FormData(x), InfoEnd + 4, _ Len(FormData(x)) - InfoEnd - 7) 'Verifica se trata-se de um arquivo ou de uma variável qualquer If (InStr(varInfo, "filename=") > 0) Then 'Monta um script dictionary com as informações sobre o arquivo tmpRequestFiles.add "nome",GetFieldName(varInfo) tmpRequestFiles.add "conteudo",varValue tmpRequestFiles.add "filename",GetFileName(varInfo) tmpRequestFiles.add "filetype",GetFileType(varInfo) 'Insere o script dictionary montado dentro de outro, contendo 'Todos os arquivos que levaram upload MyRequestFiles.ADD "arq" & FileCount,tmpRequestFiles FileCount = FileCount + 1 Else 'É um campo comum myRequest.add GetFieldName(varInfo), varValue End If End If Next Else ErrMsg = "Falha no Encoding Type!" End If bjaprocessou=true End SubSub class_Initialize bJaprocessou=false CrLf = Chr(13) & Chr(10) end Sub Public Function SalvarArquivos() dim icnticnt=1 do while icnt<=myRequestFiles.Countset tmprequestfiles=myrequestfiles.Item("arq" & icnt) Set lf = server.createObject("Scripting.FileSystemObject") ' para utilizar o nome do arquivo original é necessário 'determinar que tipo de client enviou o arquivo. 'clientes Macintosh enviam apenas o nome do arquivo 'sem path, enquanto clientes Windows 'enviam o caminho inteiro do arquivo selecionado BrowserType = UCase(Request.ServerVariables( "HTTP_USER_AGENT")) If (InStr(BrowserType, "WIN") > 0) Then 'Sendo Windows, obtem o nome do arquivo do final do path sPos = InStrRev(tmprequestfiles("filename"), "\") fName = Mid(tmprequestfiles("filename"), sPos + 1) End If If (InStr(BrowserType, "MAC") > 0) Then 'Neste caso apenas o nome do arquivo foi recebido fName = tmprequestfiles("filename") End If 'se fizer um upload para um caminho diferente, altere aqui FilePath = fName SavePath = Server.MapPath(FilePath) Nome= Server.MapPath(FilePath) Set SaveFile = lf.CreateTextFile(SavePath, True) SaveFile.Write(tmprequestfiles("conteudo")) SaveFile.Close icnt=icnt+1 loop SalvarArquivos=NomeEnd function End Class Set uplo = New cla_Uploaduplo.processaupload()uplo.salvararquivos()response.redirect("http://localhost/fs/insere1.asp")%>
insere1.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><script language="JavaScript" type="text/JavaScript">function PermiteNumeros(){var tecla = window.event.keyCode;tecla = String.fromCharCode(tecla);if(!((tecla >= "0") && (tecla <= "9"))){alert ("Digite apenas números neste Campo !"); window.event.keyCode = 0;}}</script><script src="file:///C|/Inetpub/wwwroot/FS/arquivos/validar.js"></script></head><body background="file:///C|/Inetpub/wwwroot/FS/arquivos/fundo_prin.jpg"><div id="Layer1" style="position:absolute; width:703px; height:771px; z-index:1; left: 254px; top: 5px;"> <div align="center"> <p><font size="5" face="Verdana, Arial, Helvetica, sans-serif"><strong>Cadastro de Imóveis</strong></font></p><div> <form action="upload.asp" enctype="multipart/form-data" method="post" name="f" id="f"><table width="70%" border="0" align="left"><tr> <td width="7%"><font face="Verdana, Arial, Helvetica, sans-serif">Foto:</font></td><td width="74%"><input type="file" name="test" size="50"></td><td width="19%"><input name="Button" type="submit" value="Upload"></td><td></td></tr></table><p></p><br></form> </div> <p></p><p> <% imovel=request.form("T_imovel") negocio=request.form("T_negocio")select case imovelcase 0 %></p> <form name="Cad_casa" method="post" action="banco.asp" onSubmit="return valida();"><br><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Casa</strong></font></p><table width="94%" border="0"><tr> <td width="44%"><font face="Verdana, Arial, Helvetica, sans-serif">Tipo do Imóvel</font></td><td width="47%"><select name="T_imovel"><option value="0">Casa</option></select></td></tr><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">Tipo do Negócio</font></td><td> <% if (negocio=0) then %><select name="negoc"><option value="0">Venda</option></select></td><% else %><select name="negoc"><option value="1">Aluguel</option></select><% end if%><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">Proprietário do Imóvel</font></td><td><input name="proprietario" type="text" size="60"></td></tr><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">Endereço</font></td><td><input name="Endereco" type="text" size="60"></td></tr><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">Bairro</font></td><td><input name="Bairro" type="text" size="40"></td></tr><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">Cidade</font></td><td><input name="Cidade" type="text" size="40"></td></tr><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">CEP</font></td><td><input name="cep1" type="text" size="3" onKeyPress="PermiteNumeros();" maxlength="5">- <input name="cep2" type="text" size="1" onKeyPress="PermiteNumeros();" maxlength="3"></td></tr><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">Região da Cidade</font></td><td><select name="Regiao"><option value="0">Centro</option><option value="1">Zona Norte</option><option value="2">Zona Sul</option><option value="3">Zona Leste</option><option value="4">Zona Oeste</option><option value="5">Outras Regiões</option></select></td></tr><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">Número de Dormitórios</font></td><td><input name="Dorm" type="text" onKeyPress="PermiteNumeros();" value="0" size="6" maxlength="2"></td></tr><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">Vagas na garagem</font></td><td><input name="Garagem" type="text" onKeyPress="PermiteNumeros();" value="0" size="6" maxlength="3"></td></tr><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">Área Construída</font></td><td><font face="Verdana, Arial, Helvetica, sans-serif"> <input name="Area" type="text" value="0" size="15">m²</font></td></tr><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">Medidas do Terreno</font></td><td><font face="Verdana, Arial, Helvetica, sans-serif"> <input name="Medidas" type="text" value="0" size="15">m</font></td></tr><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">Valor</font></td><td>R$ <input name="Valor" type="text" value="0" size="20"></td></tr><tr> <td><font face="Verdana, Arial, Helvetica, sans-serif">Descrição</font></td><td><textarea name="Descricao">Digite os Detalhes sobre o imóvel</textarea> <input type="submit" name="Submit" value="Enviar"></td></tr></table></form></body></html>

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.