Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal, como estou começando a programar agora em asp estou com essa dúvida.
Estou fazendo um upload de uma img mas quando a imagem vai para minha pasta ela não abre. Ex. a imagem possui 8,56 KB quando faço o upload ela vai para pasta com 60 bytes. Qual será o problema?
Aqui está o 1º código
cad_destaque.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!-- #include file = "upload_funcoes.asp" -->
<head>
<link href="style2.css" rel="stylesheet" type="text/css" />
<title>Teste</title>
</head>
<body>
<table width="720" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"><!-- #include file="topo.asp" --></td>
</tr>
<tr>
<td width="166" valign="top"><!-- #include file="menu.asp" --></td>
<td width="554"><table width="554" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><form name="form1" method="post" action="upload_form2.asp" enctype="multipart/form-data">
<table width="550" border="0" cellspacing="3" cellpadding="0">
<tr>
<td colspan="2"><strong id="titulo">CADASTRO DE DETAQUE </strong></td>
</tr>
<tr>
<td colspan="2"><hr /></td>
</tr>
<tr>
<td width="54">Titulo:</td>
<td width="496"><input name="titulo" type="text" size="73" /></td>
</tr>
<tr>
<td>Data:</td>
<td><label>
<input name="data" type="text" size="20" />
</label></td>
</tr>
<tr>
<td valign="top">Prévia:</td>
<td><label>
<textarea name="previa" cols="55" rows="5"></textarea>
</label></td>
</tr>
<tr>
<td>Imagem:</td>
<td><input name="imagem" type="file" size="58" /> </td>
</tr>
<tr>
<td valign="top">Texto:</td>
<td><label>
<textarea name="texto" cols="55" rows="20" ></textarea>
</label></td>
</tr>
<tr>
<td>Fonte:</td>
<td><label>
<input name="fonte" type="text" size="20" />
</label></td>
</tr>
<tr>
<td> </td>
<td><label>
<input name="btCadastra" type="submit" value="Cadastrar" />
<input name="btLimpa" type="reset" value="Limpar" />
</label></td>
</tr>
</table>
</form><!-- #include file = "upload_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 ----------------------
titulo = UploadRequest.Item("titulo").Item("Value")
data = UploadRequest.Item("data").Item("Value")
previa = UploadRequest.Item("previa").Item("Value")
texto = UploadRequest.Item("texto").Item("Value")
fonte = UploadRequest.Item("fonte").Item("Value")
' Tipo de arquivo que esta sendo enviado
tipo_foto = UploadRequest.Item("imagem").Item("ContentType")
' Caminho completo dos arquivos enviados
caminho_foto = UploadRequest.Item("imagem").Item("FileName")
' Nome dos arquivos enviados
nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))
' Conteudo binario dos arquivos enviados
imagem = UploadRequest.Item("imagem").Item("Value")
' pasta onde as imagens serao guardadas
pasta = ("c:/Inetpub/wwwroot/aemerj/administrador/img")
nome_fotoDb = nome_foto
nome_foto="/"&nome_foto
' pasta + nome dos arquivos
imagem = "administrador/img" + nome_foto
' Fazendo o Upload do arquivo selecionado
if imagem <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)
For i = 1 to LenB(imagem)
MyFile.Write chr(AscB(MidB(imagem,i,1)))
Next
MyFile.Close
end if
' Conecta-se ao Banco de Dados
url_conexao = ("c:\Inetpub\wwwroot\pasta\dados\bd.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 tb_destaque (titulo,data,previa,fonte,texto,imagem) values ('"& titulo &"', '"& data &"', '"& previa &"', '"& fonte &"', '"& texto &"', '"& imagem &"')"
conexao.Execute(sql)
' Mostra Mensagem de Confirmação na Tela
Response.write "Dados Cadastrados com Sucesso!"
' Redireciona após 3 segundos
response.write "<br><br>você será redirecionado em 3 segundos..<br>"
response.write "<meta http-equiv='refresh' content='3; url=admin.asp'/>"upload_funcoes.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 -----------------------------------------
%>
Carregando comentários...