Ir para conteúdo

POWERED BY:

Arquivado

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

luizsnpjr

[Resolvido] Upload múltiplo através da pasta

Recommended Posts

Galera, boa noite.

Estou com um cliente que quer fazer a seguinte proeza....Selecionar uma pasta com várias imagens, clicar no botão ok e simplesmente enviar todos os arquivos pro site, salvando o nome de todos no Banco de dados. Sei que com Flex Builder eu já vi isso, mas com ASP, é possível?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa interação entre SELECIONAR O QUE ENVIAR e ENVIAR, não é ASP. ASP recebe o que foi enviado do navegador. No caso seria feito com Javascript a parte da seleção, mas até onde sei, em Javascript você não conseguirá selecionar uma pasta. Se você já viu em Flex, talvez você consiga fazer a interação entre Flex e ASP para fazer isso.

 

Outras opções que acredito ser mais simples a implementação:

1) Se selecionar vários arquivos dentro de uma pasta resolver, nesse caso você pode utilizar os SWFUploader, Uploadify, entre outros para enviar vários arquivos.

2) Compactar a pasta no formato ZIP, por exemplo, enviar o arquivo para o servidor e descompactar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gostei das suas sugestões, tipo, o SWFUploader não é para PHP? e o problema de compactar e enviar para o servidor para descompatar, é que eu tenho que armazenar o nome de todas as imagens no banco de dados para poder utiliza-los.

Há mais alguma solução para este problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo que é feito para PHP da para ser feito em ASP. O SwfUploader permite você informar o arquivo de upload por parametro, nesse caso, pasta informar um arquivo.asp ou invés de .php.

 

Sobre gravar os nomes no banco de dados, é só você ler a pasta onde descompactou os arquivos utilizando FSO, mas isso vai ficar mais lento. Acredito que a opção 1 é melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

existe um exemplo que disponibilizei no fórum para enviar varios arquivos de uma vez, dá uma procurada no lab. de script

 

olha este exemplo:

 

<%
Response.Buffer = true
on error resume next

'declara as variáveis
dim objUpload
dim strMessage

'cria instância do objeto
set objUpload = server.CreateObject("Dundas.Upload.2")

'verifica um possível erro
if err.number <> 0 then
Response.Redirect "Dundas.asp?Message=" & err.description
end if

'estipula o tamanho máximo do arquivo
objUpload.MaxFileSize = 1048576 

'formatando o nome do arquivo
objUpload.UseUniqueNames = false

'informa o path onde os arquivos serão salvos
'obs: o diretório deve ter permissão de escrita
objUpload.Save "c:\www\login\web\teste"

dim temp

'verifica erro
if IsEmpty(objUpload.Form("txtName")) = false then temp = " "
if err.number <> 0 then
strMessage = objUpload.Form("txtName") & temp & "Falha, ocorreu o erro: " & err.description

'mensagem de sucesso
else
strMessage = "Upload realizado com sucesso pelo" & temp & objUpload.Form("txtName") & "."
end if 

Response.Redirect "Dundas.asp?Message=" & strMessage

'destroi o objeto
set objUpload = nothing
%>

nesse exemplo foi usado o diretório teste. Substitua pelo diretório em que você deseja gravar. Esse diretório deve necessariamente ter permissão de escrita.

 

Agora faça um formulário que passará as informações ao script asp responsável por chamar o componente.

 

Use a seguinte tag input no seu formulário:

 

<input NAME="File1" TYPE="file">

<input NAME="File2" TYPE="file">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro, vai postando suas dúvidas aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu mesmo galera, vamo que vamo. Assim que eu começar o trabalho ou tiver um tempo livre, vou pegar esses códigos para testar....valeu....obrigado

 

Ainda não feche este tópico, acho que ainda vou precisar de help....kkkkk

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK, amigo...

 

qualquer coisa posta ae...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, consegui, fechei o projeto, então tenho que começar a ver o código, alguém pode me ajudar com a migração do PHP para o ASP? o upload é feito com o SoftArtisans, já sei fazer o upload com ele pois já uso a tempos, só falta implantar junto com o SWFUploader

Compartilhar este post


Link para o post
Compartilhar em outros sites

Homi... deixe de coisa... kkkkkk

 

Eu quebrei mt a cabeça com esse negócio... quase fico lôko... Mas consegui através do ASPUploader...

 

Ele envia múltiplas imagens... O detalhe é só o seguinte, para cadastrar no BD...

 

no arquivo form_singlefile.asp altere o diretório onde serão salvas as fotos

 

uploader.SaveDirectory="../caminho-e-nome-da-pasta/"

e onde tem...

 

<script type='text/javascript'>
function CuteWebUI_AjaxUploader_OnTaskComplete(task)
{
 alert task.FileName;
}
</script>

troque para...

 

<script type='text/javascript'>
function CuteWebUI_AjaxUploader_OnTaskComplete(task)
{
window.open('configura.asp?IDCont=<%=Request.QueryString("IDCont")%>&NMFoto=' + task.FileName);
}
</script>

o arquivo configura pega o código da galerias de fotos e o nome da foto e faz qualquer coisa...

 

no meu caso, ele

 

1. cadastrar no BD.

2. renomeia a foto.

3. redimensiona a foto.

4. cria o thumbnail.

5. coloca o logo do site sobre a foto.

 

e é bem rápido o sistema...

 

só tem um problema.. O ASPUploader é pago.. liberado por 30 dias... Alguém tem ele grátis? kkkkkk

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, to fazendo um código de upload para vários arquivos também, vamos ver se vai dar certo, meu amigo que manja bastante de jquery vai me ajudar.......se der tudo certo, posto aqui pra vocês o código completo ok.....abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha uma ótima referencia

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum, infelizmente parece que o swfupload caiu fora, pq ta dando erro na página....vamos lá galera....to com problemas e tenho no máximo até segunda pra resolver....rsrsrs....complicado né. vamo que vamo.

 

Achei vários códigos maravilhosos de upload multiplo selecionando vários arquivos dentro da janela de arquivos, muito legal, e ainda tinha progress bar de vários tipos, mas o bendito é em PHP.

 

Precisamos nos reunir urgentemente e fazer UM código decente de Upload Multiplo com seleção de vários arquivos/imagens e com progress bar, este é meu plano de vida agora, tem que sair algo. Não é possível o ASP tão lindo e maravilhoso não ter um upload multiplo decente para download com código free.

 

Alguém ai se disponibiliza para ajudar a montar este código? já estou vendo a questão do jquery e tentando algo com o asp também, quem for conseguindo algo vai postando aqui, depois montamos um TUTO bem legal e colocamos no Lab ok.

 

Vamo que vamo, vou colocar várias dúvidas aqui hoje, o interessante para dar certo é nós utilizarmos um componente só para poder ficar mais fácil, senão cada um faz de um jeito e ai complica e não sai nada. vamos lá galera.

 

A primeira pergunta é: Como fazer para liberar o Input File para selecionar várias arquivos direto na janela, alguém sabe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu manoooo, muito bom, mas acabei de terminar um código aqui também: Link para Teste

Agora só tem que fazer alguns ajustes bem legais para ficar show de bola. rsrsrsrs.....tipo, salvar thumb, mudar legenda e tal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caramba hein, muito loco o upload que o Patrique enviou, muito bacana mesmo, só vejo um problema, como fazer thumbmail e outras adaptações? o cara tem que manjar muito pra fazer isso, eu tava olhando o código do upload.asp é bem complexo. É a unica coisa que veja de ruim (a não ser que eu seja muito leigo mesmo, o que acho que ainda sou sim....rsrs).

No código que adaptei (eu não fiz ok gente, peguei um código que era pra php e coloquei o asp, apenas isso) você pode usar qualquer componente ou até mesmo sem componente, você pode usar o código que sempre esteve acostumado a utilizar e por isso fica mais fácil a adaptação, também da pra modificar as outras coisas do código do css, swf e tal, basta ter conhecimento onde mexer.

 

Galera, to feliz, a muuuuuuito tempo venho buscando algo sobre upload, tem sido meu maior sofrimento nos projetos. Agora, já tenho dois códigos para aproveitar sempre que quiser.....rsrsrs....valeu galera.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mano, vou zipar e te envio sim, só espera mais um pouco pq to gerando o thumb também. ai você pega completo ok.

 

Cara, ta com erro em alguma parte, ainda a pouco funcionou legal mas agora não ta indo, que porcaria....vou postar o código que fiz aqui do upload.asp

 

<%
		'Declara as variáveis a serem utilizadas no script
		Dim AspJpeg, SaFileUp

		SET SaFileUp = Server.CreateObject("SoftArtisans.FileUp")
 
			SaFileUp.Path = Server.MapPath("uploads")
 
			If SaFileUp.IsEmpty Then
					response.write "<center>Por favor, indique um arquivo para upload.</center><br>"
			Else
				SaFileUp.Save
			End if
			
			original = SaFileUp.ServerName

			caminho = replace(SaFileUp.ServerName, SaFileUp.ShortFileName, "")
			'Pega o caminho de onde foi salvo o arquivo

			total = len(SaFileUp.ShortFileName)
			arquivo = total - 3

			extensao = mid(SaFileUp.ShortFileName, arquivo,total)
			'Pega apenas a extensão do arquivo

			imagem = replace(SaFileUp.ShortFileName, extensao, "")
			'Pega apenas o nome da imagem para que possa ser renomeada depois

		Set SaFileUp = Nothing
				 
		'Instancia o componente na memória
		SET AspJpeg = Server.CreateObject("Persits.Jpeg")

		'Carrega a imagem
		AspJpeg.Open original
		
		'Largura Nova 
		Largura = 150
		
		'Redimensionar, preservar proporção 
		AspJpeg.Width = Largura
		AspJpeg.Height = Largura * AspJpeg.OriginalHeight / AspJpeg.OriginalWidth

		AspJpeg.Save caminho&"\thumb\"&imagem&"_thumb"&extensao

		SET AspJpeg = Nothing

response.write 1
%>

Não sei se pode ser, mas no PHP a última linha (response.write 1) era assim:

 

echo 1

Tem alguma coisa haver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Download Galera, quem quiser ir mexendo no código, fique a vontade. Aqui deu certo, mas ainda estou achando algumas dificuldades, por exemplo, minha hospedagem é kinghost e não está funcionando direito, mas tenho uma outra da locaweb que funciona normal. No FF e Safari para MAC ele não mostra a barra de status, mas faz o upload normal, estranho né.

 

Quem souber como resoluver, por favor compartilhe com agente ok....até mais.

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.