Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.05.10;
Скачать: CL | DM;

Вниз

Веб-разработка, пару вопросов   Найти похожие ветки 

 
Demo   (2014-09-23 09:01) [0]

Добрый день!

Использую UI, в котором есть компонент FileUpload. Все загружаемые файлы, он передает моему контроллеру. В контроллере я складываю их в папку Temp, которая создается для текущего пользователя (Temp/UserId). После сохранения формы, все файлы из папки Temp перемещаются в основную папку Files.

1. Как быть когда пользователь загружает 2 файла с одинаковым именем? Если я на сервере буду его переименовывать, тогда при в компоненте UploadFile если пользователь захочет удалить файл из списка, контроллер получит предыдущее имя файла, которое я потом не найду в папке Temp. А если переименовать файл на сервере и вернуть компоненту новое имя, тогда имя файла в компоненте будет отображаться по новому.

2. Все временно загруженные файлы хранятся в папке Temp/UserId

При открытии формы, я чищу временную папку, но если пользователь создаст параллельную вкладку с этой же формой, тогда предыдущие не сохраненные файлы будут затерты.

Подскажите как в таких случаях нужно поступать? Я всегда писал только под Windows, веб-разработка для меня что-то новое.


 
Demo   (2014-09-23 09:11) [1]

Добавочный вопрос, очень надеюсь получить ответ.

После отрисовки компонентов (Input-text, Select итд) на форме, нужно отобразить в них данные из базы. Нормально ли дождаться полной отрисовки которую делает UI, а затем Ajax запросом запросить данные из сервера и отобразить их в этих компонентах? Или загрузка страницы + дополнительное обращение к серверу это не комельфо?


 
junglecat   (2014-09-23 09:23) [2]

> 1. Как быть когда пользователь загружает 2 файла с одинаковым
> именем?

генерить уникальное имя файла, н-р, гуид. В сессии на сервере хранить коллекцию неких объектов, где будут сопоставлены реальные и временные имена.
Либо делать копию (прибавлять к имени (копия N), к примеру), честно предупреждая об этом юзера.

> При открытии формы, я чищу временную папку

использовать вышеописанную структуру для отслеживания файлов "в разработке" и мусора. Либо завести фоновый "сборщик мусора".

> загрузка страницы + дополнительное обращение к серверу это
> не комельфо?

смотря сколько длится то и другое. Желательно конечно минимизировать число обращений к серверу


 
Demo   (2014-09-23 09:28) [3]


> генерить уникальное имя файла, н-р, гуид. В сессии на сервере
> хранить коллекцию неких объектов, где будут сопоставлены
> реальные и временные имена.


Честно сказать так и предполагал, но решил с начала посоветоваться. Спасибо.


> смотря сколько длится то и другое. Желательно конечно минимизировать
> число обращений к серверу


Все происходит быстро. Но каждый комбобокс на форме уже обращается к контроллерам, каждый грид. Так как компоненты не серверные, вставлять сразу из сервера при генерации не получается, по этому отображаю после загрузки страницы.


 
junglecat   (2014-09-23 09:50) [4]

> Но каждый комбобокс на форме уже обращается к контроллерам,
> каждый грид

ну в общем-то нормальная практика. Быстро показать минимум контента, а потом уже грузить все остальное



Страницы: 1 вся ветка

Текущий архив: 2015.05.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
2-1392328243
Novicer
2014-02-14 01:50
2015.05.10
Как удалить несколько строк в таблице?


2-1392309493
alexdn
2014-02-13 20:38
2015.05.10
Чтение из реестра


6-1275899490
ocean
2010-06-07 12:31
2015.05.10
Как задать пароль


6-1275486933
Iceastral
2010-06-02 17:55
2015.05.10
TCPClient/TCPServer, error 10054


15-1411666339
Rouse_
2014-09-25 21:32
2015.05.10
Новые правила для конференции "Прочее"