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

Fazendo Muitos Uploads De Uma Vez


jf_rodrigues

Pergunta

E ae galerinha, beleza?!

Seguinte, estou tentando fazer uma rotina que faça vários uploads de uma vez, na verdade o problema nem é o upload mas pegar os nomes dos arquivos e jogar no banco. Estou usando o seguinte código:

On Error Resume Next

Response.Write "<HTML><HEAD><TITLE>Fazendo UpLoad com Dundas UpLoad</TITLE></HEAD><BODY>"

Set objUpload = server.CreateObject("Dundas.Upload.2")

objUpload.UseVirtualDir = True

objUpload.UseUniqueNames = False

objUpload.Save "..\upload\conteudo"

If Err <> 0 Then

Response.Write Err.Description & " " & Err.Number & "<br>"
Response.Write "<font face=Verdana, Arial, Helvetica, sans-serif size=2>Houve erro(s) ao carregar o(s) arquivo(s) anexado(s)!<a href=javascript:history.back(-1)>Voltar</a></b></font>"
Else
Response.Write "<font face=Verdana, Arial, Helvetica, sans-serif size=2><b>Seus dados foram carregados com sucesso!</b></font><br>"
For Each objUploadedFile in objUpload.Files
    path=objUploadedFile.Path
	titulo = objUpload.form("titulo")
	busca = objUpload.form("busca")
	previa = objUpload.form("previa")
	texto = objUpload.form("texto")
	link = objUpload.form("linka")
	foto1 = "upload\conteudo\"& objUpload.GetFileName(path)
Next

End If
Response.Write "</BODY></HTML>"

Este código faz o upload e pega os dados dos campos para jogar no banco, só que não estou sabendo pegar varios arquivos, pensei em usar assim:

foto2 = "upload\conteudo\"& objUpload.GetFileName(path)

foto3 = "upload\conteudo\"& objUpload.GetFileName(path)

foto4 = "upload\conteudo\"& objUpload.GetFileName(path)

foto5 = "upload\conteudo\"& objUpload.GetFileName(path)

foto6 = "upload\conteudo\"& objUpload.GetFileName(path)

mas não deu certo. alguém sabe me ajudar?!?! rolleyes.gif

Valeu galera.

[ ]'s

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
Para realizar um upload, deve-se ter um objeto <input type="file"...> para cada arquivo a ser carregado pois este objeto não consegue enviar mais de um arquivo ao mesmo tempo ao servidor.

Realmente. Eu estava utilizando 6 <input type="file"...> para enviar os arquivos para o servidor. O problema nem é com fazer o upload para o servidor, isso está funcionando dboa. O problema é em pegar o nome dos arquivos e gravar no banco de dados, pra dpois eu poder abrir as imagens em outro lugar.

O Código abaixo faz isso, porém ele pega o nome só de um campo <input type="file"...> e grava o mesmo nome em todas as tabelas do banco.

foto1 = "upload\conteudo\"& objUpload.GetFileName(path)

Aqui ele grava no banco o caminho do diretório que está entre "". O objUpload.GetFileName(path) retorna apenas o nome do arquivo do último objeto.

Se não entendeu posta aí q explico melhor. Se puder me ajudar...!

[ ]'s

Link para o comentário
Compartilhar em outros sites

  • 0

Se voce tem 6 campos Input cada um tem um Nome Certo?

não daria para usar o request.form para pegar nome de cada um separado??

tipo

Foto1 = Request.form("Nomeupload1")

Foto2 = Request.form("Nomeupload2")

Foto3 = Request.form("Nomeupload3")

Foto4 = Request.form("Nomeupload4")

Foto5 = Request.form("Nomeupload5")

Foto6 = Request.form("Nomeupload6")

Link para o comentário
Compartilhar em outros sites

  • 0

cara...valeu dmais, funcionou. Vai aí o código inteiro:

<%response.Buffer = true
'Dim Comando
Comando = Request("comando")
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<p>&nbsp;</p>
<form name="form1" method="post" action="up.asp?comando=inserir" enctype="multipart/form-data">
  <p>
    <input name="foto1" type="file" id="foto1">
</p>
  <p>
    <input name="foto2" type="file" id="foto2">
</p>
  <p>&nbsp;</p>
  <p>
    <input type="submit" name="Submit" value="Enviar">
  </p>
</form>
<p>
  <% 
if comando = "inserir" then
On Error Resume Next 
Dim objUpload
Set objUpload = server.CreateObject("Dundas.Upload.2")

objUpload.UseVirtualDir = True
objUpload.UseUniqueNames = False
objUpload.Save "..\upload"

If Err.Number <> 0 Then 
Response.Redirect "Error.asp" 
Else 
For Each objUploadedFile in objUpload.Files 
path=objUploadedFile.Path
foto = "upload\"& objUpload.GetFileName(path)
Response.Write "O campo &quot;" & objUploadedFile.TagName & "&quot; input file  recebeu o arquivo abaixo.<br>" 
Response.Write "O arquivo &quot;" & foto & "&quot; foi salvo corretamente.<br>" 
If InStr(1,objUploadedFile.ContentType,"octet-stream") Then 
objUploadedFile.Delete 
End If 
Next 

End If 

Set objUpload = Nothing 
End if
%> 
</p>
</body>
</html>

Se alguém tiver a mesma dúvida que eu esse código resolve, para jogar no banco é só fazer a instruçao sql UPDATE dentro do <FOR>... recebendo a variável FOTO.

[ ]'s a todos.... cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Rafael Barros

Não entendi como ele pega os nomes para jogar no banco, pois ele ta dentro de um "for". Senda assim o codigo pega os dois campos no primeiro loop do for e os dois no segundo loop do for. Como eu faço para pegar dois campos distintos do tipo "file" e jogar no banco access.

Desde de já, agradeço pela atenção.

Link para o comentário
Compartilhar em outros sites

  • 0

Não entendi como ele pega os nomes para jogar no banco, pois ele ta dentro de um "for". Senda assim o codigo pega os dois campos no primeiro loop do for e os dois no segundo loop do for. Como eu faço para pegar dois campos distintos do tipo "file" e jogar no banco access.

Desde de já, agradeço pela atenção.

Você pode utilizar o método obj.Form("campo_formulario") para recolher o valor que esta sendo enviado, depois fica facil, só inseri-lo no banco de dados.

Abraços!!!

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...