powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Хранение файлов в БД. Проблема со скачиванием в различных браузерах...
4 сообщений из 4, страница 1 из 1
Хранение файлов в БД. Проблема со скачиванием в различных браузерах...
    #38155175
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начальные условия...

Файлы хранятся в базе данных MS SQL в поле типа Image (не обязательно картинки, могут быть любые).
Так же, в таблички записывается и исходное имя файла.

Далее, что бы предоставить пользователю возможность скачать файл, использую следующий код

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
mcom = new SqlCommand("select file_data, file_name from content_files where id=1", mcon);
mcon.Open();
SqlDataReader mdr = mcom.ExecuteReader();
byte[] bt;
while (mdr.Read())
{
    bt = mdr.GetSqlBytes(0).Value;
    Response.Clear();
    Response.ContentType = "binary/octet-stream, windows-1251";
    Response.AddHeader("Content-Disposition", "attachment; filename=\"" + mdr.GetString(1)+"\"");
    Response.OutputStream.Write(bt, 0, bt.Length);
    Response.End();
}



В итоге:

Firefox и Chrome - все проходит отлично
IE - для файлов с русскими именами предлагает скачать под именем с козябушками
Opera - присваеват всем файлам расширение DOC игнорируя исходное расширение указанное в filename (с какого лешего непонятно)

Как победить сию беду ?

Пишу как умею. Дорого, долго...
...
Рейтинг: 0 / 0
Хранение файлов в БД. Проблема со скачиванием в различных браузерах...
    #38155188
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С Opera вопрос закрыт. Это решается настройками Opera (Меню-Настройки-Общие настройки, вкладка "Расширенные", раздел "Загрузки"...) Там для MIME-тип "binary/octet-stream" было указагно расширение "DOC" (возможно сам когда-то ткнул открывать вородом и запомнить выбор). А вот с кодировкой имен файлов в эксплорере так и непонял...
Пробовал менять кодировки и для веб-страниц и для Response.ContentType (windows-1251 UTF-8)... ничего не дает....
...
Рейтинг: 0 / 0
Хранение файлов в БД. Проблема со скачиванием в различных браузерах...
    #38155270
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще не указывай ContentType. По поводу файла HttpUtility.UrlPathEncode.
...
Рейтинг: 0 / 0
Хранение файлов в БД. Проблема со скачиванием в различных браузерах...
    #38155283
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Хранение файлов в БД. Проблема со скачиванием в различных браузерах...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]