|
|
|
MVC3: загрузка файла
|
|||
|---|---|---|---|
|
#18+
Как сделать такое: юзер залогинился и создает новую запись, предположим добавляет некий прожект: 1. имя 2. описание 3. и хочет добавить картинку или видео к этому прожекту. Как правильно сделать: добавить запись в базу и если все получилось, тогда делать загрузку файла? а если на загрузке облом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2011, 19:53:00 |
|
||
|
MVC3: загрузка файла
|
|||
|---|---|---|---|
|
#18+
На выбор: 1. Если файл хостится в той же БД, то никто не мешает сохранять данные сразу в одной транзакции. 2. Если файл хостится в ФС, то сначала создается запись в БД, а потом сохраняем файл. В случае ошибки сохранения файла тупо показываем алерт. 3. Разрешается прикреплять файл только к существующей записи. То есть сначала создается запись, потом появляется возможность прикрепления файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2011, 21:18:57 |
|
||
|
MVC3: загрузка файла
|
|||
|---|---|---|---|
|
#18+
МСУНа выбор: 2. Если файл хостится в ФС, то сначала создается запись в БД, а потом сохраняем файл. В случае ошибки сохранения файла тупо показываем алерт. 3. Разрешается прикреплять файл только к существующей записи. То есть сначала создается запись, потом появляется возможность прикрепления файла. Почему не наоборот - загружаем файл, если загрузка прошла, создаём запись? Пользователь ведь может начать загрузку, не дождавшись, закрыть браузер. И так несколько раз. Будем иметь кучу записей в бд без файлов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2011, 22:34:31 |
|
||
|
MVC3: загрузка файла
|
|||
|---|---|---|---|
|
#18+
StarlexПочему не наоборот - загружаем файл, если загрузка прошла, создаём запись? Бред. StarlexПользователь ведь может начать загрузку, не дождавшись, закрыть браузер. И так несколько раз. Будем иметь кучу записей в бд без файлов? Ну закрыл браузер. Ну не закачался файл. Ну остались записи без файла. И что дальше? Если нужна транзакционность: VarBinary или FileStream . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2011, 22:46:42 |
|
||
|
MVC3: загрузка файла
|
|||
|---|---|---|---|
|
#18+
Сначала убеждаемся в наличии файла, затем добавляем о нём запись в базу. У нас на одном из проектов (java) был подобный случай - файлы грузились в темповую директорию, добавлялись записи в базу, затем файлы обрабатывались и складывались в другую папку, но в сервлете была ошибка и в целевую папку ничего не сохранялось, в итоге в базе куча левых записей и на странице сайта вместо фоток красные кресты отсутсвия рисунков + уехавшая вследствии этого вёрстка. Пришлось писать скрипт, проверяющий каждую запись в базе + присутствие файла на диске и вычищение ненужных записей. После этого народ, создававший данный проект, пока файла нет, в базу ничего не пишет. Аплоад произошёл, далее проверяем наличие файла и если он найден, то пишем в базу. При генерации страницы, если файла нет (файловый сервер к примеру перегружаем), то выдаём временный рисунок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2011, 09:47:51 |
|
||
|
MVC3: загрузка файла
|
|||
|---|---|---|---|
|
#18+
МСУНу закрыл браузер. Ну не закачался файл. Ну остались записи без файла. И что дальше? Если нужна транзакционность: VarBinary или FileStream . Случаи разные бывают. Если файл - один из 15 параметров (какой-нибудь аватар на форуме) и есть возможность последующей подгрузки, по вполне можно загрузку и проигнорировать при создании записи. Но в целом, "Не говори гоп, пока не перепрыгнешь" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2011, 10:14:38 |
|
||
|
MVC3: загрузка файла
|
|||
|---|---|---|---|
|
#18+
МСУНа выбор: 1. Если файл хостится в той же БД, то никто не мешает сохранять данные сразу в одной транзакции. 2. Если файл хостится в ФС, то сначала создается запись в БД, а потом сохраняем файл. В случае ошибки сохранения файла тупо показываем алерт. 3. Разрешается прикреплять файл только к существующей записи. То есть сначала создается запись, потом появляется возможность прикрепления файла. 1. да, так было бы проще, но в качестве базы может использоваться SQL Express потому файлы хранятся в ФС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2011, 13:01:39 |
|
||
|
MVC3: загрузка файла
|
|||
|---|---|---|---|
|
#18+
как лучше именовать файлы при аплоаде ? Т.е. каждый юзер может грузить файлы с одинаковыми именами, на сервере они складываются скажем в один фолдер. Или лучше сразу грузить в постоянный фолдер, где файлы будут лежать... Как быть с юзерами и одинаковыми именами файлов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2011, 13:22:02 |
|
||
|
MVC3: загрузка файла
|
|||
|---|---|---|---|
|
#18+
Winnipuhкак лучше именовать файлы при аплоаде ? 1. Именовать проще всего гуидами. 2. Размазывать файлы по папкам. Например, имя папки - текущий год-месяц "2011.11", либо год-месяц документа в БД и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2011, 13:43:42 |
|
||
|
MVC3: загрузка файла
|
|||
|---|---|---|---|
|
#18+
МСУWinnipuhкак лучше именовать файлы при аплоаде ? 1. Именовать проще всего гуидами. 2. Размазывать файлы по папкам. Например, имя папки - текущий год-месяц "2011.11", либо год-месяц документа в БД и т.д. можно наверное еще и имя или ид юзера призвиздючить к имени файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2011, 13:46:11 |
|
||
|
MVC3: загрузка файла
|
|||
|---|---|---|---|
|
#18+
Вопрос по сути: Есть форма, на ней поля из модели и еще одно Код: plaintext 1. 2. 3. в методе контроллера ф вижу только модель, в который этого поля нет, и еще могу параметр с именем отловить Код: plaintext как грузить? В примерах вижу Код: plaintext 1. 2. 3. 4. 5. Но у меня строка, а не HttpPostedFileBase... как решить проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2011, 16:57:54 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37538543&tid=1360283]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
295ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 623ms |

| 0 / 0 |
