Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как отобразить прогресс загрузки при сохранение в 
:(
    Опции темы
teda
Дата 21.6.2010, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 25.10.2008

Репутация: нет
Всего: нет



всем привет .

я сохраняю картинки в бд .
как мне подключить progressBar для отображения загрузки.

метод сохранения :

Код

protected void saveBtn_Click(object sender, EventArgs e)
    {
        string fileName = fileUpload1.FileName;
        byte[] fileByte = fileUpload1.FileBytes;
        Binary binaryObj = new Binary(fileByte);
        DataClassesDataContext context = new DataClassesDataContext();
        
        context.imageInfos.InsertOnSubmit(new imageInfo() { name = fileName, fileSource = binaryObj });
        context.SubmitChanges();
       
    }


всем спасибо.
PM MAIL   Вверх
jonie
Дата 22.6.2010, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: нет
Всего: 118



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


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
teda
Дата 24.6.2010, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 25.10.2008

Репутация: нет
Всего: нет



jonie, спасибо за мнение.  я так примерно и думал но не был уверен .
PM MAIL   Вверх
1stain
Дата 30.6.2010, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 30.7.2007
Где: Киев - Харьков

Репутация: 1
Всего: 40



varbinary(max) & varchar(max) также можно сохранять в базу частями (MSDN: UPDATE (Transact-SQL) секция Updating Large Value Data Types )

Код

private const int UploadChankSize = 8040;

protected void UploadButton_OnClick(object sender, EventArgs e)
    {
        if(FileUpload1.HasFile)
        {
            var buffer = new byte[UploadChankSize];
            
            using (var stream = FileUpload1.FileContent)
            using(var reader = new BinaryReader(stream))
            {
                buffer = reader.ReadBytes(UploadChankSize);

                var dataFile = new DataFile
                {
                    FileName = FileUpload1.FileName,
                    FileContent = buffer
                };

                using (var context = new TestDataModelDataContext())
                {
                    context.DataFiles.InsertOnSubmit(dataFile);
                    context.SubmitChanges();

                    buffer = reader.ReadBytes(UploadChankSize);

                    while(buffer.Length > 0)
                    {
                        context.AppendDataFile(dataFile.FileID, buffer);
                        buffer = reader.ReadBytes(UploadChankSize);
                        context.SubmitChanges();
                    }
                }
            }
        }
    }


Код

CREATE PROCEDURE dbo.AppendDataFile
    @FileID INT,
    @FileContent VARBINARY(MAX)
AS
    SET NOCOUNT ON
    
    UPDATE dbo.DataFile SET FileContent.WRITE(@FileContent, NULL, 0)
    WHERE FileID = @FileID;
    
    RETURN



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


--------------------
Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein)
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема »


 




[ Время генерации скрипта: 0.0523 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.