Ir para conteúdo

POWERED BY:

Arquivado

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

l_nando

[Resolvido] Upload

Recommended Posts

Pessoal, boa tarde!

 

Aqui estou novamente com dúvidas, mas vamos lá!

 

Estou usando o script de upload sem componentes que vi aqui mesmo no forum e está funcionando bem.

Mas minha dúvida é a seguinte:

 

Só consigo fazer o up com imagens com até 150 kbytes e gostaria de saber se tem como fazer com imagens mais pesadas, pois vou publicar num site e o usuário vai poder escolher a foto que irá upar, tem como aumentar isso?

 

Grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ae fera, você deve esta usando o componente FSO. você so consegue fazer upload com arquivos com no maximo esse tamanho que você postou.

 

Voce pode usar algum componente que é disponibilizado pela propria equipe da empresa que você hospeda.

Segue abaixo o que eu utilizo:

 

upload.asp

<html>
<head> 
	<title> SaFileUp </title>
</head>
<body>

	<% 
	'Instancia o componente
	SET SaFileUp = Server.CreateObject("SoftArtisans.FileUp") 

		'Configura o caminho onde arquivo será salvo
		SaFileUp.Path = "e:\home\LoginFTP\Web\upload\"
                       'Para Revenda substitua o caminho físico para E:\vhosts\SEU_DOMINIO_COMPLETO\httpdocs\

		'Você pode usar também o caminho relativo se preferir
		'SaFileUp.Path = Server.MapPath("./upload/")

                       '## ATIVA O TRATAMENTO DE ERRO ##
		'Caso o usuário não indique um arquivo para upload, informa erro.
		If SaFileUp.IsEmpty Then
				response.write "<center>Por favor, indique um arquivo para upload.</center><br>"
		Else
			'Salva o arquivo no servidor
			SaFileUp.Save
			response.write "<center>Total de Bytes Enviados: " & SaFileUp.TotalBytes & "</center>"
		End if

		'Gera um link html para retornar a pagina anterior
		response.write "<center><a href='javascript:history.go(-1)'>Voltar</a></center>"

	Set SaFileUp = Nothing 
	%>

</body>
</html>

 

Dai você personaliza da forma que você achar melhor, fazendo insert, update ect...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, mas os componentes que o provedor disponibiliza dá pra fazer upload de arquivo maior?

 

O que eles disponibilizam é o Dundas Upload.

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o objeto FSO(FileSystemObject) tem um tamanho maximo que que ele consegue fazer o upload.aconselho a usar um componente mesmo

você pode usar o Dundas e aumentar a propriedade MaxFileSize para 9000000

 

exemplo:

 

<%
Dim objUpload
Set objUpload = Server.CreateObject("Dundas.Upload.2")

objUpload.MaxFileSize = 9000000
objUpload.UseVirtualDir = True
objUpload.UseUniqueNames = False

objUpload.Save "/ftp"

Set objUpload = Nothing

Response.Write "Upload efetuado com sucesso"

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapa, com esse que eu passei eu faço upload de diversos tamanhos, nunca parei para analisar os tamanhos mas hoje mesmo eu fiz de um arquivo de 6mb

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta executando ele no localhost ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando eu fiz a minha primeira pagina de upload eu fiz com o FSO, e localmente ou localhost ele enviava qualquer tamanho para a minha estrutura de pagina. Mas quando eu coloquei no servidor de hospedagem eu vi que meu trabalho foi todo em vão rsrsrs.

 

Mas valeu a pena pq descobri que ele nao funcionava para o que eu queria rsrsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, beleza?

 

Consegui fazer com o AspUpload, meu provedor de hospedagem suporta esse componente.

Segue o cod:

 

<!--#include file="conexao.asp" -->
<%

Dim load
Dim Path
Dim sql
Dim cmd
Dim Rs
Dim str
Dim bco, tab
Dim strCaminho

call AbreConn

Set load = Server.CreateObject("Persits.Upload")
load.Save

strCaminho = Server.MapPath("/diretorio/imagensup/IMG")

load.Files("txtimg").SaveAs strCaminho & load.Files("txtimg").FileName

sql = "insert into IMGUP (IMGGALERIA) values ('" & load.Files("txtimg").FileName & "')"

set tab = bco.execute(sql)
call FechaConn
set tab = nothing


response.Redirect("000002.asp")

%>

 

Tenho uma outra dúvida.

 

Tem como redimensionar a imagem antes de salvá-la no servidor?

Tipo sempre com o mesmo tamanho?

Para não correr o risco do usuário fazer um up com imagem muito grande 1260 x 940 px por exemplo.

 

Valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes de salvar eu nao conheço,

mas depois que ela estiver salva você pode remedencionar.

 

segue o codigo abaixo.

<%
' Create instance of AspJpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")

' Compute path to source image
Path = Server.MapPath("../img/banner/teste/1images.jpg")

' Open source image
Jpeg.Open Path

' Decrease image size by 50%
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2

'caso você tenha um tamanho ja definido você pode fazer da seguinte forma
Jpeg.Width = 1000
Jpeg.Height = 500

' create thumbnail and save it to disk
Jpeg.Save Server.MapPath("../img/banner/teste/1images_mini.jpg")
%> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maravilha.

 

Desculpa minha ignorância, mas é a primeira vez que trabalho com up de imagens e tal.

Mas me explica uma coisa.

 

Onde eu aplico este cod? e minha pasta então vai ficar com duas imagens? Uma com tamanho normal e outra em miniatura?

 

E preciso ver se o meu provedor aceita este componente também!

 

Valeu!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele vai criar dois arquivos

Existem duas formas, que você pode redimensionar as imagens, mantendo a proporção, neste caso, quando você tiver uma imagem 1024x768, por exemplo, ao redimensionar para 800 de largura, ela automaticamente ficará com 600 de largura. Para isto, basta fazer:

 

<%
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.PreserveAspectRatio = True
%>

 

 

 

 

- Você também pode cortar a imagem deixando ela com o tamanho desejado, para isto, você utiliza o Crop passando os 2 pontos, (x1,y1) e (x2, y2), da seguinte forma:

 

<%
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Crop XSuperior, YSuperior, XInferior, YInferior
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maravilha.

 

Desculpa minha ignorância, mas é a primeira vez que trabalho com up de imagens e tal.

Mas me explica uma coisa.

 

Onde eu aplico este cod? e minha pasta então vai ficar com duas imagens? Uma com tamanho normal e outra em miniatura?

 

E preciso ver se o meu provedor aceita este componente também!

 

Valeu!!

 

No seu caso, se o seu servidor de hospdagem aceitar, você pode colocar esse script dentro do proprio arquivo que faz o upload. logo apos o seu sistema ter upado a foto.

 

Ficaria mais ou menos assim

<!--#include file="conexao.asp" -->
<%

Dim load
Dim Path
Dim sql
Dim cmd
Dim Rs
Dim str
Dim bco, tab
Dim strCaminho

call AbreConn

Set load = Server.CreateObject("Persits.Upload")
load.Save

strCaminho = Server.MapPath("/diretorio/imagensup/IMG")

load.Files("txtimg").SaveAs strCaminho & load.Files("txtimg").FileName

' Create instance of AspJpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")

' Compute path to source image
Path = Server.MapPath("/diretorio/imagensup/IMG/1images.jpg")

' Open source image
Jpeg.Open Path

' Decrease image size by 50%
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2

'caso você tenha um tamanho ja definido você pode fazer da seguinte forma
Jpeg.Width = 1000
Jpeg.Height = 500

' create thumbnail and save it to disk
Jpeg.Save Server.MapPath("/diretorio/imagensup/IMG/1images_mini.jpg")


sql = "insert into IMGUP (IMGGALERIA) values ('" & load.Files("txtimg").FileName & "')"

set tab = bco.execute(sql)
call FechaConn
set tab = nothing


response.Redirect("000002.asp")

%>

 

Com relação de ficar duas imagens, sim, neste caso vai ficar sim. Porem a onde esta

Jpeg.Save Server.MapPath("/diretorio/imagensup/IMG/1images_mini.jpg")

se você substituir pelo nome da foto original que foi feito upload ele vai subscrever a que ja tem la. Se ele fizer isso filé.

 

Mas eu nao sei te precisar isso pois nao fiz o teste. O que eu fiz mesmo foi pra salvar com duas imagem, uma real e outra pra ser thumbnail.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então!

 

Fiz como no exemplo que foi passado e está dando o seguinte erro:

 

Tipo de erro:

Persits.Jpeg.1 (0x800A0002)

O sistema não pode encontrar o arquivo especificado.

/site/inserirfotos1.asp, line 29

 

 

Linha do erro:

 

Jpeg.Open Path

 

outra coisa, percebi que quando faz o upload, ao invés de salvar na pasta especificada:("/diretorio/imagensup/IMG"), ele salva na pasta anterior /imagensup/ e agrega o IMG no nome da foto, ex: IMGfoto01.jpg, já coloquei assim ("/diretorio/imagensup/IMG/") e faz a mesma coisa.

 

O que pode ser?

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se o caminho esta correto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, parece que consegui resolver, está funcionando pelo menos localmente!

 

Segue o cod completo com a modificação:

 

<!--#include file="conexao.asp" -->
<%

Dim load
Dim Path
Dim sql
Dim cmd
Dim Rs
Dim str
Dim bco, tab
Dim strCaminho

call AbreConn

Set load = Server.CreateObject("Persits.Upload")
load.Save

strCaminho = Server.MapPath("/diretorio/imagensup/IMG")

load.Files("txtimg").SaveAs strCaminho & load.Files("txtimg").FileName

' Create instance of AspJpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")

' Compute path to source image
Path = Server.MapPath("/diretorio/imagensup/IMG" & load.Files("txtimg").FileName)

' Open source image
Jpeg.Open Path

' Decrease image size by 50%
'Jpeg.Width = Jpeg.OriginalWidth / 2
'Jpeg.Height = Jpeg.OriginalHeight / 2

'caso você tenha um tamanho ja definido você pode fazer da seguinte forma
Jpeg.Width = 512
Jpeg.Height = 384

' create thumbnail and save it to disk
Jpeg.Save Server.MapPath("/diretorio/imagensup/IMG" & load.Files("txtimg").FileName)


sql = "insert into IMGGALE (IMGGALERIA) values ('" & load.Files("txtimg").FileName & "')"

set tab = bco.execute(sql)
call FechaConn
set tab = nothing


response.Redirect("000002.asp")

%>

 

Deixei até com o tamanho já definido, assim o usuário poderá colocar foto de qualquer tamanho que as mesmas vão ter um padrão só.

 

Vou continuar testando e qualquer coisa posto aqui!!

 

Valeu pela força!!

 

Abraço.

 

Galera, parece que consegui resolver, está funcionando pelo menos localmente!

 

Segue o cod completo com a modificação:

 

<!--#include file="conexao.asp" -->
<%

Dim load
Dim Path
Dim sql
Dim cmd
Dim Rs
Dim str
Dim bco, tab
Dim strCaminho

call AbreConn

Set load = Server.CreateObject("Persits.Upload")
load.Save

strCaminho = Server.MapPath("/diretorio/imagensup/IMG")

load.Files("txtimg").SaveAs strCaminho & load.Files("txtimg").FileName

' Create instance of AspJpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")

' Compute path to source image
Path = Server.MapPath("/diretorio/imagensup/IMG" & load.Files("txtimg").FileName)

' Open source image
Jpeg.Open Path

' Decrease image size by 50%
'Jpeg.Width = Jpeg.OriginalWidth / 2
'Jpeg.Height = Jpeg.OriginalHeight / 2

'caso você tenha um tamanho ja definido você pode fazer da seguinte forma
Jpeg.Width = 512
Jpeg.Height = 384

' create thumbnail and save it to disk
Jpeg.Save Server.MapPath("/diretorio/imagensup/IMG" & load.Files("txtimg").FileName)


sql = "insert into IMGGALE (IMGGALERIA) values ('" & load.Files("txtimg").FileName & "')"

set tab = bco.execute(sql)
call FechaConn
set tab = nothing


response.Redirect("000002.asp")

%>

 

Deixei até com o tamanho já definido, assim o usuário poderá colocar foto de qualquer tamanho que as mesmas vão ter um padrão só.

 

Vou continuar testando e qualquer coisa posto aqui!!

 

Valeu pela força!!

 

Abraço.

 

Só pra constar!

 

Está salvando uma foto só, com o tamanho definido.

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.