Получение jpeg как BLOBS дает другие результаты в Windows, чем OS X, это нормально или это мой код? - PullRequest
0 голосов
/ 25 января 2012

Я подключаюсь к своему серверу MS SQL (2008), где храню файлы JPG в виде BLOB-файлов и извлекаю их на одной странице (displayImage.aspx), которую затем отображаю на других страницах для отображения изображения. Это прекрасно работает во всех браузерах на компьютере с Windows. Однако на компьютерах с OS X в браузере отображаются расширенные данные, а изображения не отображаются. (скриншот: http://i.imgur.com/133I8.png) Есть предложения? Код ниже:

string image = Request.QueryString["image"];

if (image == null){
    image = "no_image.jpg";
}


    SqlConnection objConn = new SqlConnection(ConfigurationManager.ConnectionStrings["CONNECTIONSTRING"].ToString());

    objConn.Open();

    string sTSQL =

                        "SELECT [data] " +
                        "FROM [DBTABLE] " +
                        "WHERE filename = '" + image + "'";

    SqlCommand objCmd = new SqlCommand(sTSQL, objConn);
    objCmd.CommandType = CommandType.Text;

    SqlDataReader dr = objCmd.ExecuteReader();
    dr.Read();

    Response.BinaryWrite((byte[])dr["data"]);

    objConn.Close();

Ответы [ 2 ]

3 голосов
/ 25 января 2012

Похоже, вы не предоставляете MIME-тип в своем ответе. Если вы это сделаете, браузер не должен будет угадывать.

1 голос
/ 25 января 2012

Вы пытались добавить эту строку под строкой Response.BinaryWrite ()? (см. Ниже)

Response.End();

Похоже, это сработало для другого, возможно, связанного с этим вопроса: Чтение двоичного файла и использование Response.BinaryWrite () ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...