A linha 339 é essa: objStream.LoadFromFile strFilePath
Segue o código abaixo:
<td valign="middle">
<a href="BAC54_arqareadocliente.asp?nomeArq=<%=rs.fields("nome_orig")%>&arquivo=<%=rs.fields("nome")%>"><%=rs.fields("nome_orig")%></a>
</td>
<td>
<%
'cria o objeto Scripting.FileSystemObject e atribui a variável objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
'pega o caminho e características da pasta "documentos" e atribui a objFolder
Set objFolder = objFSO.GetFolder(Server.MapPath("documentos"))
'Escreve no navegador o caminho completo da pasta (Ex: E:\inetpub\wwwdata\exemplo\html\Teste\sistema\documentos
'Response.write objFolder.Path
'Response.Write objFolder.Size & "em byte" 'Retorna o tamanho total da pasta, incluindo todos os seus arquivos.
Set fc = objFolder.Files
totalArq = fc.count
tamArq = Server.MapPath (".") & "\" & objFolder.Name
'Response.Write(tamArq)
Set arqObj = objFSO.GetFile(tamArq&"\"&rs.fields("nome"))
'Response.Write round(arqObj.Size / 1024) & " KB"
'varDataUacesso = varDataUacesso & arqObj.DateLastAccessed
'imprimo o nome do arquivo.
'Response.write arqObj.Name
'Response.write objFolder.Name &"\"& arqObj.Name
'--------------------------------------------
Response.Buffer = True
Dim strFilePath, strFileSize, strFileName
Const adTypeBinary = 2
'strFilePath = "C:\ whatever the path is "
strFilePath = objFolder.Path
'strFileSize = ... the size of file .. optional
strFileName = arqObj.Name
Response.Clear
'8*******************************8
' Requires MDAC 2.5 to be stable
' I recommend MDAC 2.6 or 2.7
'8*******************************8
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
'objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath
strFileType = lcase(Right(strFileName, 4))
' Feel Free to Add Your Own Content-Types Here
Select Case strFileType
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
'Handle All Other Files
ContentType = "application/octet-stream"
End Select
'Response.AddHeader "Content-Disposition", "attachment; filename= strFileName
Response.AddHeader "Content-Length", strFileSize
' In a Perfect World, Your Client would also have UTF-8 as the default
' In Their Browser
Response.Charset = "UTF-8"
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
Response.Flush
objStream.Close
Set objStream = Nothing
Pergunta
Martinsrj
Estou tentando aplicar um código que quando o usuario clicar no link o arquivo não abra no navegador e obrigue o usuario a realizar o downloads.
Erro abaixo:
ADODB.Stream error '800a0bba'
File could not be opened.
/exemplo/html/teste/sistema/bac54_arqareadocliente.asp, line 339
----------------------------------------------------------------------------------------------------
A linha 339 é essa: objStream.LoadFromFile strFilePath
Segue o código abaixo:
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.