Ir para conteúdo

POWERED BY:

Arquivado

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

leooizepi

como fazer Upload SIMPLES

Recommended Posts

e ae galera.. beleza?

 

é o seguinte.. to começando com asp.. e to precisando do seguinte:

 

fazer um formulario com 1 input type='file' e tenho q pegar esse arquivo q foi upado e jogar num local pré definido. Só isso! nao precisa gravar no bd, limitar tamanho, nada disso!!

 

se alguem puder fazer esse script, agradeço muito!!

 

 

valeu!! t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha ai:

 

formupload.htm

 

<html><body>
<form action="upload.asp" enctype="multipart/form-data" method="post">
Arquivo:
<input type="file" name="test">
<br>
<input type="radio" name="filename" value="original" checked> Usar o nome original
<br>
<input type="radio" name="filename" value="userSpecified"> Usar o nome:
<input type="text" name="userSpecifiedName" value="">
<br>
<input type="submit" value="Enviar">
</form>
</body>
</html>

upload.asp

<%
' Ajuste o timeout conforme o tamanho 
' dos arquivos que você irá aceitar
server.scripttimeout = 5400

'Caminho virtual onde os arquivos devem ser salvos no servidor
filePathDefault = "./"

const ForWriting = 2
const TristateTrue = -1
crlf = chr(13) & chr(10)

' Esta função recupera o nome do campo do formulário
function getFieldName( infoStr)
	sPos = inStr( infoStr, "name=")
	endPos = inStr( sPos + 6, infoStr, chr(34) & ";")
	if endPos = 0 then
		endPos = inStr( sPos + 6, infoStr, chr(34))
	end if
	getFieldName = mid( infoStr, sPos + 6, endPos - (sPos + 6))
end function

' Esta função recupera o nome do arquivo
function getFileName( infoStr)
	sPos = inStr( infoStr, "filename=")
	endPos = inStr( infoStr, chr(34) & crlf)
	getFileName = mid( infoStr, sPos + 10, endPos - (sPos + 10))
end function

' Esta função recupera o tipo mime do arquivo
function getFileType( infoStr)
	sPos = inStr( infoStr, "Content-Type: ")
	getFileType = mid( infoStr, sPos + 14)
end function

' Lê o arquivo o arquivo e tudo mais que foi enviado
postData = ""
Dim biData
biData = Request.BinaryRead(Request.TotalBytes)
' Como o arquivo é binário, iremos armazená-lo
' numa variável mais controlável
for nIndex = 1 to LenB( biData)
	postData = postData & Chr(AscB(MidB( biData, nIndex, 1)))
next

' Como os dados foram lidos de uma forma binária (BinaryRead), a instrução Request.Form 
' não está mais disponível. Portanto, será necessário processar as variáveis manualmente.
' Primeiro, será verificado o tipo de codificação.
contentType = Request.ServerVariables( "HTTP_CONTENT_TYPE")
ctArray = split( contentType, ";")
' O envio de arquivos somente funciona com a codificação
' "multipart/form-data", por isso vamos checar se esse foi a codificação usada.
if trim(ctArray(0)) = "multipart/form-data" then
	errMsg = ""
	' Armazene o conteúdo do formulário ...
	bArray = split( trim( ctArray(1)), "=")
	boundry = trim( bArray(1))
	' ... divida as variáveis
	formData = split( postData, boundry)
	' agora, nós precisamos extrair a informação de cada variável.
	dim myRequest, myRequestFiles(9, 3) 
	Set myRequest = CreateObject("Scripting.Dictionary")
	fileCount = 0
	for x = 0 to ubound( formData)
		' duas marcas "crlf" indicam o final da informação sobre campo
		' tudo depois dele é o valor
		infoEnd = instr( formData(x), crlf & crlf)
		if infoEnd > 0 then
			' lê as informações do campo...
			varInfo = mid( formData(x), 3, infoEnd - 3)
			' lê o valor do campo
			varValue = mid( formData(x), infoEnd + 4, len(formData(x)) - infoEnd - 7)
			' verifica se ele é um arquivo
			if (instr( varInfo, "filename=") > 0) then
				myRequestFiles( fileCount, 0) = getFieldName( varInfo)
				myRequestFiles( fileCount, 1) = varValue
				myRequestFiles( fileCount, 2) = getFileName( varInfo)
				myRequestFiles( fileCount, 3) = getFileType( varInfo)
				fileCount = fileCount + 1
			else
				' outro tipo de campo
				myRequest.add getFieldName( varInfo), varValue
			end if
		end if
	next
else
	errMsg = "Tipo de codificação inválido!"
end if 

' Salva o arquivo enviado
set lf = server.createObject( "Scripting.FileSystemObject")
if myRequest("filename") = "original" then
	' Usa o nome do arquivo original
	browserType = UCase( Request.ServerVariables( "HTTP_USER_AGENT"))
	if (inStr(browserType, "WIN") > 0) then
		' Sistema Windows
		sPos = inStrRev( myRequestFiles( 0, 2), "\")
		fName = mid( myRequestFiles( 0, 2), sPos + 1)
	end if
		' Sistema Mac
	if (inStr(browserType, "MAC") > 0) then
		fName = myRequestFiles(0, 2)
	end if
	' Caminho onde os arquivos devem ser salvos
	filePath = filePathDefault & fName
else
	' use o nome especificado pelo usuário
	' Caminho do arquivo
	filePath = filePathDefault & myRequest("userSpecifiedName")
end if
savePath = server.mapPath( filePath)
set saveFile = lf.createtextfile(savePath, true)
saveFile.write( myRequestFiles(0, 1))
saveFile.close
%>
<html>
<body>
<% if errMsg = "" then %>
	Arquivo enviado com sucesso!
<%else %>
	Erro no envio do arquivo!<br>
	<%= errMsg %>
<% end if %>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa.. eu nao entendo asp, codigo ta muito grande e complexo, eu preciso de um codigo simples, soh 1 arquivo para upload e jogar numa pasta pré definada, se puder fazer isso...

 

mais value pela pela atençao!

Compartilhar este post


Link para o post
Compartilhar em outros sites

No laboratório de scripts do forúm tem uns exemplos de upload tbm, dá uma pesquisada lá ou até no google

Compartilhar este post


Link para o post
Compartilhar em outros sites
nossa.. eu nao entendo asp, codigo ta muito grande e complexo, eu preciso de um codigo simples, soh 1 arquivo para upload e jogar numa pasta pré definada, se puder fazer isso...

 

mais value pela pela atençao!

Pede "de graça" e ainda quer exigir código simples e pequeno.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado.

 

É que eu nao sei nada de ASP, se eu pegar o codigo pra estuda vai demorar, e eu agradeci o xanburzum, nem esnobei o cara!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Salgado.

 

É que eu nao sei nada de ASP, se eu pegar o codigo pra estuda vai demorar, e eu agradeci o xanburzum, nem esnobei o cara!

Veja em sua hospedagem qual componente de upload está disponível, algumas hospedagens possuem até scripts de exemplo. Caso não possua, faça uma busca aqui mesmo com o nome do componente.

 

Ninguém aprende da noite para o dia, conhecimento vem ao se estudar por muito tempo mesmo.

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.