Сохраните изображения в таблицу базы данных сервера Sql, используя asp.net 4.0 ajax - PullRequest
0 голосов
/ 23 августа 2010

У меня есть форма, где пользователи могут загружать изображения на сайт.Изображения хранятся в двоичном виде, в таблице.

Я использую ajax и JQuery на сайте, и он никогда не перезагружается, поэтому, когда пользователи вводят данные и нажимают на кнопку подтверждения, страница не перезагружается.Вместо этого я использую ajax для загрузки данных на сервер.

Когда я просто пропускаю текст, он выглядит так:

$("#storeDataAndImgBtn").bind("click", function () {
    var msg = $("#emailMsg").val();
    var from = $("#fromEmail").val();
    $.ajax({
        type: "POST",
        url: "Default.aspx/storeDataAndImg",
        data: "{\"from\":\"" + from + "\" ,\"msg\":\"" + msg + "\" ,\"value\":\" 'image should be here' \" }",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (temp) {
            alert(temp.d);
            $("#mailForm").fadeOut(function () {
                $("#overlay").fadeOut();
            });
        }
    });
    return false;
});

У меня вопрос, как я могу пропустить изображение, чтобы сохранить его в базе данных?

Ответы [ 2 ]

1 голос
/ 23 августа 2010

Я предполагаю, что изображение просто Input Type="File".В этом случае вы не можете получить доступ к полю ввода с помощью Ajax по соображениям безопасности.Я считаю, что лучшее решение - использовать IFrame для цели отправки.Это не красиво, но работает.

SOF - Как сделать асинхронную (AJAX) загрузку файлов с помощью iframe

Другой вариант - использовать Flash / Silverlight / etcвставить в.В настоящее время я использую SWFUpload.

SWFUpload

0 голосов
/ 23 августа 2010

Если возможно, я бы предложил не хранить изображение в базе данных. Вместо этого храните изображения в файловой системе сервера.

См. Здесь для похожих / связанных вопросов: сохранить изображение в базе данных или в системном файле?

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