Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Загрузка файла в базу с прогресс баром / 9 сообщений из 9, страница 1 из 1
13.01.2014, 00:57
    #38523792
Алексей Ку.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка файла в базу с прогресс баром
Доброго времени суток!

Уважаемые знатоки!
Я опять поднимаю тему загрузки файла в БД и оторажения прогресса.
Задача: Надо залить файл напрямую из приложения в базу MS SQL (не на веб адрес!) и отрисовать ProgressBar процесса загрузки оного. Использовать можно что угодно, но в рамках стандартного набора WinForms (а не ASP!).

Сколько копаю тему не могу найти внятного решения!
Очень прошу помочь!
...
Рейтинг: 0 / 0
13.01.2014, 01:55
    #38523798
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка файла в базу с прогресс баром
Загружать частями?
...
Рейтинг: 0 / 0
13.01.2014, 08:54
    #38523855
Алексей Ку.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка файла в базу с прогресс баром
Можно и частями.
А никакого "штатного" способа нету?

Если частями, то какой размер одной посылки будет оптимальным? Предполагается что будут единичные вставки записей очень редко более 5 Мб. Но при этом скорость соединения с сервером (файл один серверов много) может быть очень высокой, либо критически маленькой (один раз была чуть более 200 байт/сек).
...
Рейтинг: 0 / 0
13.01.2014, 12:25
    #38524123
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка файла в базу с прогресс баром
Алексей Ку.,

вынесите загрузку файла целиком в отдельный поток, во время загрузки показывайте модальный диалог с ProgressBar, у которого Style = ProgressBarStyle.Marquee , и всё. От того, что вы покажете пользователю процент загрузки, быстрее эта загрузка не произойдет.
...
Рейтинг: 0 / 0
13.01.2014, 12:55
    #38524188
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка файла в базу с прогресс баром
Алексей Ку.,

А как Вы это дело загружаете? Ну, в смысле, построчно или оптом? В первом случае - не сложно, а во втором - невозможно.
...
Рейтинг: 0 / 0
13.01.2014, 14:09
    #38524338
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка файла в базу с прогресс баром
ShSergeАлексей Ку.,

А как Вы это дело загружаете? Ну, в смысле, построчно или оптом? В первом случае - не сложно, а во втором - невозможно.
Поскольку выше был вопрос об оптимальном размере куска в байтах, то, думаю, там файл загружается в блоб. Т.е. одним куском.
...
Рейтинг: 0 / 0
13.01.2014, 14:13
    #38524342
Алексей Ку.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка файла в базу с прогресс баром
ShSergeАлексей Ку.,

А как Вы это дело загружаете? Ну, в смысле, построчно или оптом? В первом случае - не сложно, а во втором - невозможно.

Да не важно. Сейчас просто создаётся SqlCommand типа Insert ..., читается файл и и передаётся как параметр. Можно переделать и под кусочную.

Сон Веры ПавловныАлексей Ку.,

вынесите загрузку файла целиком в отдельный поток, во время загрузки показывайте модальный диалог с ProgressBar, у которого Style = ProgressBarStyle.Marquee , и всё. От того, что вы покажете пользователю процент загрузки, быстрее эта загрузка не произойдет.

Согласен! Так сейчас и сделано. Только вместо прогрессбара гифка вращается.

Ну вроде как мы разобрались, что при загрузке оптом сделать прогресс бар невозможно. Если будем грузить кусочками, то можно сделать прогрессбар. При чём в нём будет столько уровней, на сколько по дроблена загрузка. Всё верно?

Тогда другой вопрос: А можно ли отобразить скорость приёма/отдачи? Если да, то как? Опять что-то типа: сделать отдельным потоком и считать сколько кусков мы записали и приводить к секундам прошедшим по таймеру?

Неужели нет стандартного такого важного инструмента? ИЛи он не такой важный и используется крайне редко?
...
Рейтинг: 0 / 0
13.01.2014, 14:14
    #38524345
Алексей Ку.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка файла в базу с прогресс баром
Сон Веры Павловны,

В таблице тип данных image. Но можно сделать varbinary. Вообщем ограничений нет.
...
Рейтинг: 0 / 0
13.01.2014, 14:38
    #38524389
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка файла в базу с прогресс баром
Алексей Ку.Тогда другой вопрос: А можно ли отобразить скорость приёма/отдачи? Если да, то как? Опять что-то типа: сделать отдельным потоком и считать сколько кусков мы записали и приводить к секундам прошедшим по таймеру??

Рядом с баром нарисуй лабел, куда периодчески вписывай скорость = partsAmount * partSize / timeElapsed;
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Загрузка файла в базу с прогресс баром / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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