Ir para conteúdo

POWERED BY:

Arquivado

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

Luan Messias

Criando thumbnail apos upload

Recommended Posts

Ola Galera

Gostaria primeiro de agradecer o pessoal do forum que me ajudou a chegar ate aqui

pensei que não ia precisar encher vocês depois do (form+xml+upload) rsrs

mas eu tentei por conta e não concegui nehum progresso :unsure:

 

bom minha duvida é a seguinte....

eu estou tentando gerar um Thumbnail com a imagem que vai ser feita

o upload mas não concegui de forma alguma, creio eu que não estou sabendo dar o local

correto de onde a imagem original vai estar e em que parte do meu codigo devo inserir as tags do ASPJPG

 

 

(gostaria de agradecer ao Public2004 por ter me ajudado com este codigo abaixo)

 

 

o codigo responsavel pelo upload é este

 

 

 

' Upload Sem componentes ---------------------------------------
Sub BuildUploadRequest(RequestBin)
on error resume next

Upload.Path = Server.MapPath("brocolis/")
 Upload.Save  
 
PosBeg = 1
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
boundary = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
BoundaryPos = InStrB(1, RequestBin, boundary)

Do Until (BoundaryPos = InStrB(RequestBin, boundary & getByteString("--")))

Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")

Pos = InStrB(BoundaryPos, RequestBin, getByteString("Content-Disposition"))
Pos = InStrB(Pos, RequestBin, getByteString("name="))
PosBeg = Pos + 6
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
Name = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
PosFile = InStrB(BoundaryPos, RequestBin, getByteString("filename="))
PosBound = InStrB(PosEnd, RequestBin, boundary)

If PosFile <> 0 And (PosFile < PosBound) Then
  PosBeg = PosFile + 10
  PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
  FileName = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
  UploadControl.Add "FileName", FileName
  Pos = InStrB(PosEnd, RequestBin, getByteString("Content-Type:"))
  PosBeg = Pos + 14
  PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
  ContentType = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
  UploadControl.Add "ContentType", ContentType
  PosBeg = PosEnd + 4
  PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
  Value = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
Else
  Pos = InStrB(Pos, RequestBin, getByteString(Chr(13)))
  PosBeg = Pos + 4
  PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
  Value = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
End If

UploadControl.Add "Value", Value
UploadRequest.Add Name, UploadControl
BoundaryPos = InStrB(BoundaryPos + LenB(boundary), RequestBin, boundary)

Loop
End Sub

Function getByteString(StringStr)
	For i = 1 To Len(StringStr)
		Char = Mid(StringStr, i, 1)
		getByteString = getByteString & ChrB(AscB(Char))
	Next
End Function

Function getString(StringBin)
getString = ""
	For intCount = 1 To LenB(StringBin)
		getString = getString & Chr(AscB(MidB(StringBin, intCount, 1)))
	Next
End Function
' Fim upload sem Componentes -----------------------------------------

' Chamando Funções, que fazem o Upload funcionar
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin

' Recuperando os Dados do FORM ----------------------
titulo = UploadRequest.Item("titulo").Item("Value")
tema = UploadRequest.Item("tema").Item("Value")
desc = UploadRequest.Item("desc").Item("Value")
arquivo = UploadRequest.Item("arquivo").Item("FileName")


' Tipo de arquivo que esta sendo enviado
tipo_foto = UploadRequest.Item("arquivo").Item("ContentType")

' Caminho completo dos arquivos enviados
caminho_foto = UploadRequest.Item("arquivo").Item("FileName")

' Nome dos arquivos enviados
nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))

' Conteudo binario dos arquivos enviados
foto = UploadRequest.Item("arquivo").Item("Value")

' pasta onde as imagens serao guardadas
pasta = Server.MapPath("/brocolis")
nome_foto = "/"&nome_foto

' Fazendo o Upload do arquivo selecionado

If foto <> "" then
	Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
	Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)
		For i = 1 to LenB(foto)
			MyFile.Write chr(AscB(MidB(foto,i,1)))
			
		Next
MyFile.Close
End if

 

Ai gostaria de saber em que parte deste codigo eu devo adicionar as tags do (AspJpg)

e onde coloco que a imagem é a mesma que vai ser feita o upload

sendo que o input responsavel pela imagem se chama (arquivo)

 

espero ter explicado bem =D

 

Des de ja muito Obrigado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça isso dentro deste IF.

 

If foto <> "" then
	Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
	Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)
		For i = 1 to LenB(foto)
			MyFile.Write chr(AscB(MidB(foto,i,1)))
			
		Next
MyFile.Close
End if

Veja que dentro dele é possível pegar o caminho do arquivo... a partir daí você edita ele da forma que desejar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa não concegui

 

eu tenho que colocar o codigo do asp jpeg dentro do codigo que você me mandou ?

 

estou ultilizando este codigo:

 

<% 
'Criando o thumbnail: 
Set Jpeg = Server.CreateObject("Persits.Jpeg") 

'Caminho da Imagem 
Path = "e:\home\xyz\web\teste" & "\teste.jpg" 

'Busca a Imagem 
Jpeg.Open Path 

'Especifica o tamanho da imagem, nesse caso ela ficará 50% menor 
Jpeg.Width = Jpeg.OriginalWidth / 2 
Jpeg.Height = Jpeg.OriginalHeight / 2 

'Esse método é opcional, usado para melhorar o visual da imagem 
Jpeg.Sharpen 1, 150 

'Cria um thumbnail e o grava no caminho abaixo 
Jpeg.Save "e:\home\xyz\web\teste" & "\teste_mini.jpg" 

'Para enviar o thumbnail para o browser do cliente utilize o método SendBinary: 
Response.Write jpeg.SendBinary 
%>

e nele não sei onde indico a imagem que eu quero fazer o thumb

 

valeu hargon xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso... após o NEXT, ainda dentro do IF você inclui o código.

 

O caminho você informa aqui:

Path = "e:\home\xyz\web\teste" & "\teste.jpg"

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz exatamente isto

agora ele pelo menos leu o codigo rsrs mas deu este erro :

 

Persits.Jpeg.1 error '800a0002'

 

The system cannot find the path specified.

 

/brocolis/index.asp, line 142

 

esta linha tem o segunte codigo:

 

Jpeg.Open Path

 

eu teria que puxar a imagem direto da variavel

 

sera que nao esta achando a imagem ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente não está achando o arquivo.

 

Manda escrever o conteúdo da variável PATH uma linha antes da linha do JPEG.OPEN e coloque um response.end. Verifica se o caminho exibido é o mesmo da imagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito bem....

No caso eu deveria usar desse modo :

 

path = response.end

 

Jpeg.Open Path ?

 

 

tipo o path não deveria ter o caminho da variavel arquivo ?

essa variavel e responsavel pela foto que vai ser postada

mas eu não estou sabendo informar este caminho eu acho

 

ta complicado >.<'

 

Valeu hargon :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

<% 

'Criando o thumbnail:

Set Jpeg = Server.CreateObject("Persits.Jpeg")

 

'Caminho da Imagem

Path = "e:\home\xyz\web\teste" & "\teste.jpg"

 

'Busca a Imagem

Jpeg.Open Path

 

'Especifica o tamanho da imagem, nesse caso ela ficará 50% menor

Jpeg.Width = Jpeg.OriginalWidth / 2

Jpeg.Height = Jpeg.OriginalHeight / 2

 

'Esse método é opcional, usado para melhorar o visual da imagem

Jpeg.Sharpen 1, 150

 

response.write path

response.end

 

'Cria um thumbnail e o grava no caminho abaixo

Jpeg.Save "e:\home\xyz\web\teste" & "\teste_mini.jpg"

 

'Para enviar o thumbnail para o browser do cliente utilize o método SendBinary:

Response.Write jpeg.SendBinary

%>

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.