Jump to content
Fórum Script Brasil
  • 0

Fazendo Muitos Uploads De Uma Vez


jf_rodrigues

Question

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 to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...