Я думаю, что у каждого есть такой опыт: на странице есть ссылка, указывающая на файл Word на сервере. Когда на клиентском компьютере установлен Office, щелчок по ссылке вызовет Word для открытия и просмотра, когда на клиентском компьютере нет Office. установлен, при нажатии на ссылку появится диалоговое окно «Сохранить». Подводя итог, если браузер распознает тип файла, он автоматически откроет его; если нет, он предложит клиенту сохранить его; Но иногда мы надеемся, что независимо от типа файла мы не хотим открывать его и позволить клиенту сохранить его напрямую. Чтобы выполнить это требование, для файлов, сохраненных на жестком диске сервера, необходимо использовать метод SendBinary компонента ASPUpload. Для файлов, сохраненных в базе данных, вам нужно только открыть набор записей и затем вывести двоичные данные непосредственно клиенту. . , но вам необходимо сообщить браузеру тип MIME, имя и размер файла.
1. Файлы на жестком диске сервера
<%
Тусклая загрузка, путь к файлу
Установить загрузку = Server.CreateObject(Persits.Upload)
FilePath = Server.MapPath(.) &/& 2003529213019.txt
'Описание параметра SendBinary:
'Параметр 1: физический путь к файлу
'Параметр 2: отправлять ли тип MIME и другую информацию о файле в браузер.
'Параметр третий: тип файла, вы можете указать конкретный тип MIME, но обычно вы можете использовать application/octet-binary
'Параметр 4: разрешить клиенту сохранить файл или открыть его напрямую. True: сохранить; False (по умолчанию): открыть;
Upload.SendBinary FilePath, True, application/octet-binary, True
%>
2. Файлы в серверной базе данных
<%
Тусклый objConn,objRs
Установите objConn = Server.CreateObject(ADODB.Connection)
Установите objRs = Server.CreateObject(ADODB.RecordSet)
objConn.open Driver={Драйвер Microsoft Access (*.mdb)};dbq= & Server.MapPath(db1.mdb)
objRs.open выберите * из t5, где id=2,objConn,1,3
Response.ContentType = приложение/поток октетов
Response.AddHeader Content-Disposition,attachment;filename= & objRs(имя файла)
Response.AddHeader Content-Length,CStr(objRs(size)) 'Здесь необходимо использовать преобразование CStr
Response.BinaryWrite objRs(файл)
objRs.close
Установить objRs = ничего
objConn.close
Установить objConn = ничего
%>
Этот метод требует, чтобы имя и размер файла были сохранены одновременно при сохранении файла! Если имя и размер файла не указаны, если браузер распознает тип файла, он автоматически его откроет, если нет, клиенту будет предложено его сохранить!