Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Seguinte, eu tenho um código onde eu seleciono os arquivos que desejo baixar e mando fazer o download, quando ele faz vai iniciar o processo ele cria um arquivo zip com todos os arquivos selecionados até aqui funciona certinho.
O problema é que no firefox ele carrega e abre a janela para salvar o arquivo. Já no IE, ele começa a carregar, não dá nenhum erro e fecha a janela sem exibir a janela para salva ou abrir o arquivo.
O código que estou usando é esse:
Set objFile = objFso.GetFile(v_path)
Response.Clear
Response.AddHeader "Content-Disposition", "attachment; filename=" & v_file
Response.AddHeader "Content-Length", objFile.Size
Response.ContentType = v_type
Set varBinario = Server.CreateObject("ADODB.Stream")
varBinario.Open
varBinario.Type = 1
Response.CharSet = "UTF-8"
varBinario.LoadFromFile(v_path)
Response.BinaryWrite(varBinario.Read)
Response.Flush
varBinario.Close
Set varBinario = Nothing
Set objFile = Nothing
Alguém tem idéia de pq no fire vai e no ie não?
Vlw
Sim, desabilitei e não aparece nem um erro.
Fiz vários testes, vi se ele localizava o arquivo correto, se o nome do arquivo estava certo etc...
O problema tá só no IE, já que no firefox, ele dá certo.
Olá pessoal... ainda não consegui resolver meu problema.
Fiz uns testes aqui, onde eu paro a execução antes de iniciar o carregamento do arquivo.
Ai quando removo o Response.end() e dó um F5 ele aparece a janela para salvar ou abrir o arquivo.
Mas se mando fazer o download sem parar a execução e não exibe a janela para salvar ou abrir.
como esta a configuracaun do browser IE
Em qual sentido?
Pq não é só no meu, tentei em outros micros, e não vai tbm..
Fiz umas mudanças aqui, gero o arquivo zip e salvo ele num diretório.
E quando clico direto no link desse arquivo .zip, aparece a janela para salvar ou abrir o arquivo.
Mas quando, é para abrir após fazer o zip ele não vai.
será k por padarun ele nao tem alguma config. k esta blokeando !?!??!
tenho um sistema de download, e roda normal no IE,e abre a janela para salvar o arquivo
normal...
Fiz uma outra mudança aqui:
Tá usando o processo:
Cria o zip, depois que cria o zip, usando o window.open enviando o nome do arquivo para o download.
Agora faço uma validação do download.asp que qdo entra pela primeira vez na pagina, uso o window.location para recarregar a pagina passam os parâmetros novamente. Só que dá aparece aquela mensagem do IE de segurança, falando que Para minha segurança etc... o download foi bloqueado.
Tem algum jeito de evitar essa mensagem?
Está infomando o que em v_type?
Response.ContentType = v_type
Estou informando o tipo do arquivo.
É feita uma verificação do tipo de arquivo:
Select Case LCase(Right(v_file, 4))
Case ".asf"
v_type = "video/x-ms-asf"
Case ".avi"
v_type = "video/avi"
Case ".doc"
v_type = "application/msword"
Case ".zip"
v_type = "application/zip"
Case ".xls"
v_type = "application/vnd.ms-excel"
Case ".gif"
v_type = "image/gif"
Case ".jpg", "jpeg"
v_type = "image/jpeg"
Case ".wav"
v_type = "audio/wav"
Case ".mp3"
v_type = "audio/mpeg3"
Case ".mpg", "mpeg", "mpga"
v_type = "video/mpeg"
Case ".rtf"
v_type = "application/rtf"
Case ".htm", "html"
v_type = "text/html"
Case ".asp"
response.redirect("proibido.asp")
Case Else
v_type = "application/octet-stream"
End Select
Faça o teste em outro navegador além do FF e IE. Se o erro acontecer só no IE, provavelmente é interferência de alguma configuração ou software, conforme mencionado acima.
Hargon, testei no chrome, safari e opera...
Só no safari que não abriu a janela, nos demais funcionou.
use sem moderação estas funções que fiz
<%
'página index.asp
Const DIRETORIO_UPLOAD = "c:\inetpub\wwwroot\arquivos" 'diretorio onde ficam armazenados os arquivos para download
Function downloadFile(file)
Server.ScriptTimeout = 30000
Dim fileSize
Dim chunk
Dim i
Dim objStream
Dim ContentType
Dim extensaoArquivo
chunk = 2048
If file <> "" Then
extensaoArquivo = Lcase(Trim(Mid("" & file, InStrRev("" & file, "."))))
Select Case extensaoArquivo
Case ".asf"
ContentType = "video/x-ms-asf"
Case ".avi"
ContentType = "video/avi"
Case ".doc"
ContentType = "application/msword"
Case ".zip"
ContentType = "application/zip"
Case ".xls"
ContentType = "application/vnd.ms-excel"
Case ".gif"
ContentType = "image/gif"
Case ".jpg", ".jpeg"
ContentType = "image/jpeg"
Case ".wav"
ContentType = "audio/wav"
Case ".mp3"
ContentType = "audio/mpeg3"
Case ".mpg", ".mpeg"
ContentType = "video/mpeg"
Case ".rtf"
ContentType = "application/rtf"
Case ".htm", ".html"
ContentType = "text/html"
'Case ".asp"
'ContentType = "text/asp"
Case Else
ContentType = "application/octet-stream"
End Select
Response.Buffer = False
If instr(lcase(file), ".asp") Then Response.End
response.AddHeader "Content-Type", ContentType
response.AddHeader "Content-Disposition","attachment; filename=" & getFileName(DIRETORIO_UPLOAD & "" & file)
Const adTypeBinary = 1
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1 '[ binary
objStream.LoadFromFile DIRETORIO_UPLOAD & "" & file
fileSize = objstream.Size
Response.AddHeader "Content-Length", fileSize
For i = 1 To fileSize chunk
If Not Response.IsClientConnected Then Exit For
Response.BinaryWrite objstream.Read(chunk)
Next
If fileSize Mod chunk > 0 Then
If Response.IsClientConnected Then
Response.BinaryWrite objstream.Read(fileSize Mod chunk)
End If
End If
objStream.Close : Set objStream = Nothing
end if
End Function
Function getFileName(ByVal fileName)
dim fso, file
set fso = server.createObject("Scripting.FileSystemObject")
set file = fso.getFile(fileName)
getFileName = file.name
set file = nothing
set fso = nothing
End Function
Dim arquivo
arquivo = request.querystring("arquivo")
if arquivo <> "" Then
Call downloadFile(arquivo)
End If
%>
<html>
<head>
<body>
<a href="index.asp?arquivo=meuarquivo.zip">download</a>
</body>
</head>
</html>
fez o que o hargon postou? desabilitou? gerou algum erro?