Ir para conteúdo

POWERED BY:

Arquivado

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

lezão

Upload size

Recommended Posts

Ola galera estou trabalhando com um Codigo de upload e gostaria de saber se tem como determinar o tamanho da imagen a receber tipo upload só aceita com a dimensão 150x 150 maior ele naun aceita.

Tem como fazer isso neste codigo ?

 

 

Verificar_dados.asp


<!-- #include file = "funcoes.asp" -->
<%
' 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 Digitados ----------------------
Nome = UploadRequest.Item("Nome").Item("Value")
Mensagem = UploadRequest.Item("Mensagem").Item("Value")
Cidade = UploadRequest.Item("Cidade").Item("Value")
Email = UploadRequest.Item("Email").Item("Value")

data = (date)
hora = (time)


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


' Caminho completo dos arquivos enviados
caminho_foto = UploadRequest.Item("foto").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("foto").Item("Value")


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

' pasta + nome dos arquivos
cfoto = "imagens/" + 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


'---Fim---

' Conecta-se ao Banco de Dados
url_conexao = Server.MapPath("../../Dados/Database11.mdb")
set conexao = Server.CreateObject("ADODB.Connection")
conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao 

' cadastra os dados no banco de dados
sql = "Insert into Mural (nome,email,cidade,mensagem,foto,data,hora) values ('"& nome &"', '"& email &"', '"&cidade &"', '"&mensagem &"', '"& cfoto &"', '"& data &"', '"& hora &"')"
Conexao.Execute(sql)

' Mostra Mensagem de Confirmação na Tela
Response.write "Obrigado pelo recado"

' Redireciona após 5 segundos
response.write "<meta http-equiv='refresh' content='3; url=form.asp'/>"
%>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-image: url(../../imagens/bg301204.gif);
}
-->
</style></head>

<body>
<div align="left">
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
   <tr>
     <td rowspan="3"><img src="../../imagens/dag2.png" width="415" height="355"></td>
     <td> </td>
     <td> </td>
   </tr>
   <tr>
     <td> </td>
     <td> </td>
   </tr>
   <tr>
     <td> </td>
     <td> </td>
   </tr>
 </table>
</div>
<p align="center">

<p align="left"> </p>


 

Funções.asp

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

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 -----------------------------------------
%>



Compartilhar este post


Link para o post
Compartilhar em outros sites

Só com esse código não é possível fazer a verificação do tamanho (px) da imagem, você deverá usar também um componente de imagens ou script que use FSO para verificar as dimensões da imagem logo após o upload.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o Salgado ex Real Madrid disse, vai ter da uma incrementada ai no codigo.

Logo apos voce ter terminando o upload, voce coloca um componente para poder ver se a foto esta no tamanho correto, e se nao tiver, ai você decide usando se vai redimensionar ou se vai deletar a foto do ftp e voltar a pagina anterior.

' 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

 

Procura alguma coisa sobre Persits>Jpeg

Segue um link com exemplo resolvido

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.